我具有用于为html表单的任何输入创建事件的示例函数。
功能代码:
function event(form, element) {
var timer;
$(element).keyup(function () {
clearTimeout(timer);
if ($(element).val()) {
timer = setTimeout(function() {
form.submit(function (e) {
e.preventDefault();
$.ajax({
url : form.attr(‘action’),
type : form.attr(‘method’),
data : form.serialize(),
dataType: ‘json’,
success : function (json)
{
console.log(json);
},
error: function(error)
{
console.log(error);
}
});
});
$(element).css(“border-color”,”green”);
setTimeout(function() {
$(element).css(“border-color”, “#ccddea”);
}, 3000);
}, 5000);
}
});
}
用法:
var form = $(‘#form’);
event(form, ‘#name’);
event(form, ‘#lastname’);
HTML表单代码:
Send
我的 form.php 代码:
$name = $_POST[‘name’] ?? null;
if(isset($name)) {
echo $name;
}
但是在超时后表单未发送。当我仅使用form.submit()时有效,但是使用ajax()的请求无效。在我的情况下如何发送Ajax请求?