2010-11-01 39 views
5

Tôi đang cố lưu hành động kích hoạt biểu mẫu. Tôi mới đến jquery.Làm cách nào để gửi mẫu hành động onkeyup

Điều này là có thể.

Tôi đánh giá cao bất kỳ trợ giúp nào.

chỉnh sửa 1: Lưu biểu mẫu có nghĩa là lưu vào máy chủ. Có cách nào để thêm chậm trễ 0,2 giây không.

+0

Xác định "lưu dưới hình thức", xin vui lòng. – Robusto

+0

Bạn có ý nghĩa gì khi 'lưu biểu mẫu'? Gửi đến máy chủ, sử dụng bộ nhớ cục bộ của html5, lưu vào cookie ..? –

Trả lời

8

Mã này sẽ nộp mẫu đơn của bạn trên KeyUp

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

Trong mã này, bạn chặn các hình thức nộp và thay đổi nó với một ajax nộp

$("#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   } 
    }); 
}); 

Để sử dụng chức năng chậm trễ bạn nên sử dụng jQuery 1.4. Thông số được chuyển đến độ trễ là tính bằng mili giây.

+0

Cảm ơn. Có cách nào để thêm 0,2 giây chậm trễ không. –

+0

@Tìm hiểu câu trả lời của tôi cho sự chậm trễ – Lorenzo

+0

Cảm ơn. Nó hoạt động rực rỡ. Có cách nào để bao gồm $ .ajax gửi vào này. Tôi đánh giá cao tất cả sự giúp đỡ của bạn. –

0

Đây là giải pháp của tôi:

<!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> 
Các vấn đề liên quan