PDA

View Full Version : سوال: چطور می تونم بعد از کلیک کردن کاربر، ارسال فرم رو 60 ثانیه به تاخیر بندازم؟



i-php-i
سه شنبه 20 اردیبهشت 1390, 13:38 عصر
من می خوام وقتی کاربر روی دوکمه ارسال کلیک کرد و فرم رو ارسال کرد، ارسال فرم به سمت سرور رو 30 ثانیه به عقب بندازم.

لطفا بگید چطور می تونم اینکار رو انجام بدم؟

hossin.esm
سه شنبه 20 اردیبهشت 1390, 15:04 عصر
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
var s=10; // ثانیه
var i=s;
function set()
{
setTimeout("send()",i*1000);
counter();
}

function send() {
document.f1.submit();
}

function counter()
{

setTimeout("counter()",1000);
i--;
document.getElementById('s').innerHTML=i+"زمان باقیمانده تا ارسال";

}
</script>
</head>

<body>
<form action="" method="get" name="f1" onsubmit="return false">
<input name="name" type="text" />
<input name="" type="submit" value="send" onclick="set();"/>
</form>
<div id="s"></div>
</body>
</html>

famarini
سه شنبه 01 شهریور 1390, 10:11 صبح
با تشکر از دوست خوبمونhossin.esm

من کد بخش جاوااسکریپت رو یه مقدار ویرایش کردم که زمان رو به صورت منفی نمایش نده :




<script type="text/javascript">
var s=10; // ثانیه
var i=s;
function set()
{
setTimeout("send()",i*1000);
counter();
}

function send() {
document.f1.submit();
}

function counter()
{

setTimeout("counter()",1000);
if(i != 0) {
i--;
document.getElementById('s').innerHTML= " زمان باقیمانده تا ارسال "+ i +" ثانیه ";
}
}
</script>