2010-11-01 22 views
5

Form onkeyup eylemini kaydetmeye çalışıyorum. Ben jquery için yeni.Form oluşturma onkeyup eylemi

Bu mümkün mü?

Yardımlarınız için minnettarım.

düzenleme 1: Formu kaydetme, sunucuya kaydetme anlamına gelir. 0.2 saniye gecikme eklemenin bir yolu var mı.

+0

tanımlayın lütfen "Formu, save". – Robusto

+0

'Formu kaydet' ile ne demek istiyorsun? Sunucuya gönderin, html5'in yerel deposunu kullanın, bir çereze kaydedin ..? –

cevap

8

Bu kod form jQuery kullanmalısınız gecikme işlevini kullanmak için

$("#form").submit(function (event) { 
    event.preventDefault(); 
    $.ajax({ 
     type: "post", 
     dataType: "html", 
     url: '/url/toSubmit/to', 
     data: $("#form").serialize(),, 
     success: function (response) { 
      //write here any code needed for handling success   } 
    }); 
}); 

teslim teslim ve ajax ile değiştirin müdahale Bu kodda keyUp

$('#element').bind('keyup', function() { 
    $('#form').delay(200).submit(); 
}); 

üzerinde formu gönderecektir 1.4. Gecikmeye geçirilen parametre milisaniyedir. this jQuery forum thread itibaren

+0

Teşekkürler. 0.2 saniye gecikme eklemenin bir yolu var mı? –

+0

@Look cevabımda düzenle – Lorenzo

+0

için teşekkürler. Brillant çalışır. Buna $ .ajax göndermeyi dahil etmenin bir yolu var mı? Tüm yardımın için minnettarım. –

2

:

$('#element').bind('keyup', function() { $('#form').submit(); }); 
0

Bu benim çözümdür:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br"> 
<head><title>Submit after typing finished</title> 
<script language="javascript" type="text/javascript"> 
function DelayedSubmission() { 
    var date = new Date(); 
    initial_time = date.getTime(); 
    if (typeof setInverval_Variable == 'undefined') { 
      setInverval_Variable = setInterval(DelayedSubmission_Check, 50); 
    } 
} 
function DelayedSubmission_Check() { 
    var date = new Date(); 
    check_time = date.getTime(); 
    var limit_ms=check_time-initial_time; 
    if (limit_ms > 800) { //Change value in milliseconds 
     alert("insert your function"); //Insert your function 
     clearInterval(setInverval_Variable); 
     delete setInverval_Variable; 
    } 
} 

</script> 
</head> 
<body> 

<input type="search" onkeyup="DelayedSubmission()" id="field_id" style="WIDTH: 100px; HEIGHT: 25px;" /> 

</body> 
</html>