我有一个表单字段,我希望在用户提交表单之前先进行一些操作。 具体来说,它是一个位置字段,我需要检查它们是否添加了州缩写。如果没有,我加上它。
我正在观看模糊(),所以我可以看到用户的标签或点击了该字段:
$('#views-exposed-form-libraries-map-page-1 .form-item-field-geofield-distance-origin input').blur(function(){
// do stuff
});
` 当用户单击输入中的提交按钮或选项卡时,这可以正常工作。 然而,当用户点击“输入”或“返回”提交表单时,该功能不会运行 - 我猜是因为没有模糊事件。
当用户点击“输入”或“返回”时,是否有其他方法可以阻止输入值并进行编辑?
答案 0 :(得分:4)
你可以在焦点元素上创建一个.submit()
来触发.blur()
:
$('form').submit(function(){
$(':focus').trigger('blur');
})
答案 1 :(得分:1)
同样设置一个.submit
回调,这将在实际表单提交之前调用,如果需要你可以取消提交
$("#myForm").submit(function(e){
//check/do stuff here before submit
//use e.preventDefault() or return false to stop submission if needed.
});
答案 2 :(得分:0)
$(window).keydown(function(event){
if(event.keyCode == 13) {
$(':focus').trigger('blur');
event.preventDefault();
return false;
}
});