ورود

View Full Version : سوال: ارسال اطلاعات فرم بعد از 3 ثانیه



colors
شنبه 21 اسفند 1389, 14:27 عصر
درود

دوستان یه فرم دارم که یه سری اطلاعات از کاربر میگیره و به ایملم میفرسته .

حالا میخوام وقتی کاربر روی کلید send کلیک کرد یه صفحه کوچیک تو همون صفحه باز بشه و یه پیام مثلا loading توش باشه و 3 ثانیه نمایش داده بشه و بعد از 3 تانیه به جای متن loading مثلا بشه thank you و اونم بعد از 2 ثانیه hide بشه و اطلاعات فرم رو دقیقا مثل قبل واسم ارسال کنه { مدت زمانشون زیاد مهم نیست بسته به سرعت اطلاعات فرم باشه ولی حداقل 3 ثانیه اون صفحه با 2 تا پیامش رو نمایش بده }

. اگه بشه که صفحه رو رفرش نکنه و فقط اطلاعاتو بفرسته تمام شه خیلی خوب میشه

اینم کد PHP و html



<form id="contactform" action="emailsender.php" method="post" name="input" lang="en">

<label>Name : </label><input type="text" name="name" id="textname"/><br/>
<label>E-mail : </label><input type="text" name="email" id="textemail"/><br/>
<label>Phone : </label><input type="text" name="phone" id="textphone"/><br/>
<label>Message : </label><textarea name="message" rows="" cols="" id="textmessage"></textarea><br/>
<input type="submit" value="SEND" id="textsend" name="submit"/>

</form>





<?php

$txt= $_POST['raz'].'

Name : '.$_POST['name'].'


E-Mail : '.$_POST['email'].'


Phone : '.$_POST['phone'].'


Message : '.$_POST['message'];


mail("yahoo@yahoo.com","Contact Site",$txt);

echo'';
die();
?>



با تشکر...

eleboys
شنبه 21 اسفند 1389, 21:15 عصر
دوست عزیز اینترنت ایران به اندازه کافی سرعتش پایین هست که شما نگران این نباشید که پیغام های لودینگتون حداقل 3 ثانیه نمایش داده بشه (نگران باشید که بیشتر طول نکشه!)
خوب فکر می کنیم شما یه div با آیدی divMsg داری که توش پیغام به کاربر نمایش میدی و جوری css بهش دادی که بعد از visible شدن در نقطه دلخواه نمایش داده میشه. یه دکمه هم با آیدی btnSend داری که با زدنش می خوای فرم ارسال بشه:

$("#btnSend")click(function(){
$("#divMsg").text("Please Wait....")
.show("slow")
.delay(3000)
.text("Sent Successfully!")
.delay(2000)
.hide("slow");
//بهتره که اینجا فقط پبغام لودینگ رو نمایش بدی
$.post("youthtmlpage.php",
{
name: "نام",
email: "ایمیل",
phone: "تلفن",
message: "پیام"
}, function(){
// بهتره که اینجا پیام بدی که با موفقیت ارسال شد
});
});


===================
نوشته های فنی نیما بغدادی
http://nima.megapars.ir (http://nima.megapars.ir/)

colors
شنبه 21 اسفند 1389, 22:04 عصر
درود

دوست گرامی ممنون از پاسختون ولی میشه با کدهای بالا مچ کنیدش . زیاد سردرنیاوردم.

با تشکر

eleboys
یک شنبه 22 اسفند 1389, 20:36 عصر
درود

دوست گرامی ممنون از پاسختون ولی میشه با کدهای بالا مچ کنیدش . زیاد سردرنیاوردم.

با تشکر


<div id="divMsg"></div>
<form id="contactform" action="emailsender.php" method="post" name="input" lang="en">

<label>Name : </label><input type="text" name="name" id="textname"/>
<label>E-mail : </label><input type="text" name="email" id="textemail"/>
<label>Phone : </label><input type="text" name="phone" id="textphone"/>
<label>Message : </label><textarea name="message" rows="" cols="" id="textmessage"></textarea>
<input type="submit" value="SEND" id="textsend" name="submit"/>
</form>

$("#btnSend")click(function(){
$("#divMsg").text("Please Wait....")
.show("slow")
.delay(3000)
.text("Sent Successfully!")
.delay(2000)
.hide("slow");
//بهتره که اینجا فقط پبغام لودینگ رو نمایش بدی
$.post("emailsender.php",
{
name: $("#textname").val(),
email: $("#textemail").val(),
phone: $("#textphone").val(),
message: $("#textmessage").val()
}, function(){
// بهتره که اینجا پیام بدی که با موفقیت ارسال شد
});
});