结合jQuery preventDefault和必需的表单输入

时间:2013-06-01 06:17:55

标签: javascript jquery preventdefault required-field

好的,所以将preventDefault放在我的提交按钮上可以阻止表单提交。这样做的结果是它不会告诉用户必需的字段,只是在按钮上执行click事件。

将preventDefault添加到提交处理程序会向用户显示必填字段,但仍会触发与该按钮关联的单击事件。

我需要两个。

<form action="" method="post">
  <input type="text" class="class" id="id" name="name" required="required" />
</form>

现在是js:

$("button").click(function(event){
  event.preventDefault();
  //performs function
});

这将触发click事件,无论所需的表单输入如何。

$("form").submit(function(event){
  event.preventDefault();
});
$("button").click(function(){
  //performs function
});

这将向用户显示所需的消息,但仍然执行提交按钮功能。我怎么做两个?我已经查看了其他一些我可以在此找到的SO问题,但似乎最多可以通过将preventDefault添加到form.submit来解决。

2 个答案:

答案 0 :(得分:5)

当我只需要做一件事时,我实际上是想做两件事。

我根本不需要button.click功能,因为默认情况下它会提交表单。我只需要将button.click函数放在form.submit中。

$("form").submit(function(event){
    //perform button function
    return false;
});

答案 1 :(得分:0)

手动触发提交事件。

$("button").click(function(event) {
     event.preventDefault();

     $('form').submit();
});