ugrás a tartalomhoz

setTimeout('document.myForm.submit()',5000);

figyuri · 2009. Május. 30. (Szo), 13.23
Sziasztok, -keszitettem egy form -ot, s azt szeretnem, hogy az elore megadott idoben elkuldje fuggetlenul attol, hogy az elkuldes gombra kattintott vagy nem, persze ha hamarabb elkeszult, s elkuld gombot nyomja akkor is kuldje el.
Raadasul meg a hatralavo idot folyamatosan is kell mutatnom.

Koszonom : -gyuri-

u.i.: ide irom hol tartok (nezegettem a keresokben, de mindenhol csak a hasonlo problemat talaltam, megoldast nem... :-( ):

<html>
<head>
</head>
<body>
<SCRIPT language="JavaScript">
function submitform()
{
document.myform.submit();
setTimeout('document.myForm.submit()',5000);
}
</SCRIPT>

<form name="myform" action="index-6.php">
Search: <input type='text' name='query'>
<A href="javascript: submitform()">Elküld</A>
</form>
</body>
</html>

 
1

miért duplázol?

gex · 2009. Május. 30. (Szo), 13.35
ezt az eredeti szálba is beírhatad volna...
3

mert ez mar mas

figyuri · 2009. Május. 30. (Szo), 14.10
Szia, valamennyire igazad van, de ha megnezed mar nem PHP hanem JS (amennyiben valaki csak a JS -t nezi sose talal ra a kerdesemre), s raadasul talaltam a megoldashoz kozeli eredmenyt a neten, csak nem mukodik...

udv.: -gyuri-
2

Ez Ajax segítségével könnyen

mgergo90 · 2009. Május. 30. (Szo), 13.44
Ez Ajax segítségével könnyen megoldható, nézz utána a neten hogy hogyan, a lényeg, hogy egy függvény kiolvassa az összes értéket a formból és elküldje a szervernek, az idő kijelzésre meg biztosan találsz 1000 féle megoldást csak keresni kell :)
4

Ágyúval verébre?

Adam · 2009. Május. 31. (V), 11.51
Minek ide keverni az AJAX-ot? Ahogy a mintájból is látszott, ő szimplán submit-elni akarja a form-ját...

Neki szimplán az kell, hogy az oldal betöltődésekor elindítson egy timer-t, ami lejártával submit-eli a form-ot. Illetve ha a user rákattint a submit-re maga, akkor törölje ezt a timer-t.
  1. window.onload = function()  
  2. {  
  3.     // A form HTML elemunk  
  4.     var formObject = document.getElementById('formId');  
  5.   
  6.     formObject.onsubmit = function()  
  7.     {  
  8.         // Ha elkuldjuk a form-unkat, akkor toroljuk az interval-t  
  9.         clearInterval(this.timer);  
  10.         return true;  
  11.     }  
  12.   
  13.     // Ennyi masodperctol szamolunk vissza  
  14.     formObject.secondsLeft = 5;  
  15.     // "Visszaszamlalo" inicializalasa  
  16.     formObject.timer = setInterval(function()  
  17.     {  
  18.         // Kiiratjuk a hatramaradt masodpercet es csokkentjuk a hatramaradt idot  
  19.         document.getElementById('timer').value = --formObject.secondsLeft;  
  20.         // Ha nem maradt mar hatra idonk, akkor elkuldjuk a form-t  
  21.         if (formObject.secondsLeft == 0) {  
  22.             formObject.submit();  
  23.         }  
  24.     });  
  25. }  
A hozzá tartozó HTML pedig:
  1. <p>Time left: <b id="timer">5</b> second(s)</p>  
  2. <form action="" method="post" id="formId">  
  3.     <input type="submit" value="Submit form" />  
  4. </form>  
Persze ha használsz valami JavaScript könyvtárat, akkor szebben meg lehet oldani — anélkül is —, ez csak az elvi működést hivatott reprezentálni.