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

o_O*_*o_O 6 javascript jquery required-field preventdefault

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

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

我需要两个.

<form action="" method="post">
  <input type="text" class="class" id="id" name="name" required="required" />
</form>
Run Code Online (Sandbox Code Playgroud)

现在js:

$("button").click(function(event){
  event.preventDefault();
  //performs function
});
Run Code Online (Sandbox Code Playgroud)

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

$("form").submit(function(event){
  event.preventDefault();
});
$("button").click(function(){
  //performs function
});
Run Code Online (Sandbox Code Playgroud)

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

o_O*_*o_O 6

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

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

$("form").submit(function(event){
    //perform button function
    return false;
});
Run Code Online (Sandbox Code Playgroud)