0

我有一个表单字段,我想在用户提交表单之前稍微调整一下。具体来说,它是一个位置字段,我需要检查他们是否添加了州缩写。如果没有,我添加它。

我正在关注 blur() 所以我可以看到用户何时被标签或点击了字段:

  $('#views-exposed-form-libraries-map-page-1 .form-item-field-geofield-distance-origin input').blur(function(){
// do stuff
});

` 当用户从输入中单击提交按钮或选项卡时,这可以正常工作。然而,当用户点击“输入”或“返回”来提交表单时,该函数不会运行——我猜是因为没有模糊事件。

当用户点击“输入”或“返回”时,是否有其他方法可以获取输入值并对其进行编辑?

4

3 回答 3

4

您可以像这样在焦点元素上创建一个.submit()触发器:.blur()

$('form').submit(function(){
     $(':focus').trigger('blur');
})
于 2013-09-21T19:36:20.807 回答
1

也设置一个.submit回调/相反,这将在实际表单提交之前调用,如果需要,您可以取消提交

$("#myForm").submit(function(e){
   //check/do stuff here before submit
   //use e.preventDefault() or return false to stop submission if needed.
});

jQuery .submit 文档

于 2013-09-21T19:30:41.477 回答
0
  $(window).keydown(function(event){
     if(event.keyCode == 13) {
       $(':focus').trigger('blur');
       event.preventDefault();
       return false;
     }
   });
于 2019-08-02T11:22:09.780 回答