我在'index.php '中有一个表单
<form action="" method="POST" id="myForm" name="myForm">
<input type="text" name="myInput" id="myInput" maxlength="9" onChange="runOnce();" />
</form>
和在我的JS代码我有:
function runOnce() {
var form = document.getElementById("myForm");
form.submit();
}
我也有JS来处理提交
$(document).ready(function() {
$("#myForm").submit(function(event) {
// prevent page refresh
event.preventDefault();
$.ajax({
url: 'index.php',
type: 'post',
data: {
"myInput" : $('#myInput').val(),
},
success: function(response) {
alert(response);
}
});
});
});
PHP部分有
if (isset($_POST["myInput"])) {
// do something. . .
}
问题是,页面仍在刷新,即使我有event.preventDefault();
我做错了什么?
您可以简单地使用:
function runOnce() {
$("#myForm").submit(); // this will trigger jQuery submit handler and so preventing default behaviour
}