Javascript 如何提交表单onkeyup操作
我正在尝试保存表单Javascript 如何提交表单onkeyup操作,javascript,jquery,form-submit,jquery-events,Javascript,Jquery,Form Submit,Jquery Events,我正在尝试保存表单onkeyup操作。我不熟悉jQuery 这可能吗 谢谢你的帮助 编辑1: 保存表单意味着保存到服务器。有没有办法增加0.2秒的延迟。此代码将在键盘输入时提交您的表单 $('#element').bind('keyup', function() { $('#form').delay(200).submit(); }); 在这段代码中,您截取表单submit并使用ajaxsubmit对其进行更改 $("#form").submit(function (event) {
onkeyup
操作。我不熟悉jQuery
这可能吗
谢谢你的帮助
编辑1:
保存表单意味着保存到服务器。有没有办法增加0.2秒的延迟。此代码将在键盘输入时提交您的表单
$('#element').bind('keyup', function() {
$('#form').delay(200).submit();
});
在这段代码中,您截取表单submit并使用ajaxsubmit对其进行更改
$("#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 }
});
});
要使用延迟函数,应该使用jquery1.4。传递给delay的参数以毫秒为单位。来自:
这是我的解决方案:
<!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>
输入完成后提交
函数DelayedSubmission(){
变量日期=新日期();
初始时间=date.getTime();
if(setInverval_变量的类型=='undefined'){
setInverval_变量=setInterval(延迟提交检查,50);
}
}
函数延迟提交检查(){
变量日期=新日期();
检查_time=date.getTime();
var限制=检查时间-初始时间;
如果(极限值>800){//以毫秒为单位更改值
警报(“插入函数”);//插入函数
clearInterval(setInverval_变量);
删除setInverval_变量;
}
}
请定义“保存表单”。您所说的“保存表单”是什么意思?提交到服务器,使用html5的本地存储,保存到cookie…?谢谢。有没有办法增加0.2秒的延迟。谢谢。它工作得很出色。有没有办法将$.ajax submit包含在这个文件中。我感谢你的帮助。
<!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>