我正在使用ajax保存表单。它只有一个输入,我隐藏了提交按钮。当用户按下回车键时,我希望输入字段不会失去焦点。继承我目前的代码: HTML:
<form id="statusUpdate" action = "saveStatus.php" method="post" class="ajax">
<input type="text" id="statusForm" name="status" placeholder="<?php
if($status!=null){ echo '‘'.$status.'’';
} else {
echo 'Enter your status here.';}?>">
<input type="submit" hidden="true"/>
</form>
js
$('form.ajax').on('submit', function() {
var that = $(this),
url = that.attr('action'),
type = that.attr('method'),
data = {};
that.find('[name]').each(function(where, value) {
var that = $(this),
name = that.attr('name'),
value = that.val();
data[name] = value;
});
$.ajax({
url:url,
type:type,
data: data,
success: function(response){
console.log(response);
}
});
return false;
$(name).blur();
});
目前服务器端的东西一切正常,所以数据库更新。但是,模糊位不起作用。在用户提交表单后让输入失去焦点的任何帮助都会很棒。
另外在旁注上我想让它运行ajax如果他们点击输入字段,所以我刚刚复制并粘贴了js并更改了
$('form.ajax').on('submit', function() {
到
$('form.ajax').on('change', function() {
无论如何要提交或更改?
非常感谢!
答案 0 :(得分:0)
您在使用.blur()
后调用return
方法,因此不会触发模糊事件。
尝试:
$('[' + name + ']').blur();
return false;
答案 1 :(得分:0)
至于你的第二个问题,你可以使用:
$('form.ajax').on('submit change', function(){
...
});