我有一个GET表单,提交时使用 AJAX 请求来更新php页面。
我希望此表单在字段更改时自动提交,表单主要包含文本输入和一些下拉列表。
我尝试过:
onchange="this.form.submit()"
- 这是有效的,但它不是将数据AJAX到php页面,而是实际上将我重定向到页面,这是不行的。
<input type="submit">
- 我希望这是最后的手段,因为我希望自动发送表单,但是它确实有用。
我知道每次输入更改时发送一个表单通常都不是一个好主意,所以理想情况下我希望它在不活动后1-2秒发送表单(明显输入内容后) - 如果不可能,然后,每次更改字段都可以接受为低流量服务器。
所以我的问题是,通过ajax自动发送表单的正确方法是什么?
我的当前:
<form method="GET" id="submitRequest" action="showTable.php">
<th><input type="text" id="SSeries" name="SSeries" class="form-control"></th>
<th><input type="text" id="SModel" name="SModel" class="form-control"></th>
<th><input type="text" id="SSerial" name="SSerial" class="form-control"></th>
<th><input type="text" id="SColor" name="SColor" class="form-control"></th>
<th><input type="text" id="SStorage" name="SStorage" class="form-control"></th>
<th><input type="text" id="SCarrier" name="SCarrier" class="form-control"></th>
<th><input type="text" id="SType" name="SType" class="form-control"></th>
<th><input type="text" id="SUPC" name="SUPC" class="form-control"></th>
<th><input type="text" id="SStatus" name="SStatus" class="form-control"></th>
<input type="submit" class="btn btn-success">
</form>
我现在的AJAX:
$(document).ready(function() {
$('#submitRequest').submit( function( event ) {
$.ajax({ // create an AJAX call...
data: $('#submitRequest').serialize(), // serialize the form
type: $('#submitRequest').attr('method'), // GET or POST from the form
url: $('#submitRequest').attr('action'), // the file to call from the form
success: function(response) { // on success..
showTable();
}
});
event.preventDefault();
});
});
答案 0 :(得分:4)
试试这个:
当输入值更改时,表单将提交,
jQuery("#submitRequest input").change(function(){
$('#submitRequest').submit();
});
答案 1 :(得分:1)
我只需更改我的jquery选择和功能就可以解决我的问题。
我从
改变了它 $('#submitRequest').submit( function( event ) {
要
$('.submitForm').on('keyup', function(){
我向每个输入类添加了submitForm
。
答案 2 :(得分:0)
您可以在更改后在ajax中发帖,并从服务器获取响应
Date