PDA

View Full Version : سوال: ایجاد فرم نظر دهی؟



پیام حیاتی
سه شنبه 28 مرداد 1393, 13:35 عصر
سلام
در فرمی که طراحی کردم بعد از کلیک بر روی دکمه ارسال اطلاعات به صفحه process-adion.php انتقال و از اونجا به ایمیل من ارسال میشن اما من می خوام بعد از اینکه کاربر دکمه ارسال رو کلیک کرد در همان صفحه پیغامی مبنی بر دریافت اطلاعات بهش نمایش داده بشه و محتویات فرم علاوه بر ارسال به ایمیل ، پاک بشه.

سوال دیگه ای که دارم اینه که چطور میتونم بر روی فیلدهای فرم (input type) ها، Validation قرار بدم؟

122440

کدها :


<strong>نوشتن دیدگاه</strong>
<hr />
<form action="process-adion.php" method="post" title="فرم نظردهی" >


<table cellpadding="5" cellspacing="3">


<tr>
<td><label for="full_name">نام :</label></td>
<td><input type="text" name="full_name" id="full_name" style="border-radius:7px;background-color:#F8F8F8;" /> <font color="#FF0000">*</font></td>
</tr>

<tr>
<td><label for="email">ایمیل :</label></td>
<td><input type="email" name="email" id="email" style="border-radius:7px;background-color:#F8F8F8;" /></td>
</tr>

<tr>
<td><label for="adion">دیدگاه :</label></td>
<td><textarea name="discription" id="discription" border="0" style="background-color:#F8F8F8;border-radius:7px; width:300px; height:100px; color:#8D949A;"></textarea>
<font color="#FF0000">*</font></td>
</tr>

<tr>
<td></td>
<td>
<input type="submit" value="ارسال" name="submit" style="background-color:#35BC7A; height:30px; width:70px; border-radius:7px; font-size:13px; line-height:27px;color:#FFF; border:0px" />

</td>
</tr>


</table>


</form>




این هم کد PHP :


<?php


$full_name = $_POST['full_name'];
$email = $_POST['email'];
$discription = $_POST['discription'];


$to = "payam.hayati@yahoo.com";
$subject = "فرم مشاوره";


mail($to,$subject,$message, "فرم نظردهی" . "<br />" . $full_name . "<br />" . $email . "<br />" . $discription);
echo "Your Adion is Register.";
?>

مهرداد سیف زاده
سه شنبه 28 مرداد 1393, 14:03 عصر
باید با ajax درست کنی
من کدشو واست نوشتم
به تگ فرمت بعد از method این رو اضافه کن


onsubmit="return sendAjax();"

و بعد jquery رو بالای صفحه لود کن


<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


و این کدها رو هم زیر صفحه بزار


<script type="text/javascript">
function sendAjax(){
var name=$('#full_name').val();
var email=$('#email').val();
var discription=$('#discription').val();


if(name != '' && email != '' && discription != '')
{
var sendData = {
'name':name,
'email':email,
'discription':discription
};


$.post('process-adion.php',sendData,function(data){
if(data == 'Your Adion is Register.')
{
$('#full_name').val('');
$('#email').val('');
$('#discription').val('');
alert('پیام شما ارسال شد.');


}
else
alert('خطا در ارسال');
})
}
}
</script>

پیام حیاتی
سه شنبه 28 مرداد 1393, 14:17 عصر
ممنون مهرداد خان،الآن خط اول :
<form action="process-adion.php" method="post" onsubmit="return sendAjax();" title="فرم نظردهی" >

کد jQuey هم در head قرار دادم،کدهای script رو در head و body تست کردم اما همانند قبل فرم عملیات رو انجام میده.

این لینک صفحه وب (http://ahvazsell.ir/learning_web.php)

مهرداد سیف زاده
سه شنبه 28 مرداد 1393, 15:17 عصر
یدونه return false; رو جا انداخته بودم. این کار باعث میشه تا فرم submit نشه و فقط مقدار بصورت ajax ارسال بشه


function sendAjax(){
var name=$('#full_name').val();
var email=$('#email').val();
var discription=$('#discription').val();


if(name != '' && email != '' && discription != '')
{
var sendData = {
'name':name,
'email':email,
'discription':discription
};


$.post('process-adion.php',sendData,function(data){
if(data == 'Your Adion is Register.')
{
$('#full_name').val('');
$('#email').val('');
$('#discription').val('');
alert('پیام شما ارسال شد.');


}
else
alert('خطا در ارسال');
})
}

return false;
}

پیام حیاتی
سه شنبه 28 مرداد 1393, 19:41 عصر
کار نمیکنه سالار :بامزه: