Javascript 单击一个表单中的2个提交按钮中的1个时,如何运行脚本?

Javascript 单击一个表单中的2个提交按钮中的1个时,如何运行脚本?,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,嗨,我在一个表单中有两个提交按钮。下面的脚本通过向用户发送警报消息来帮助防止提交空字段。但是,我只需要单击两个提交按钮中的一个来运行它。因此,换句话说,如果单击一个按钮,它将提交包含或不包含空白字段的表单,而另一个按钮将运行下面的脚本,并且不允许使用空白字段提交表单。非常感谢您的帮助,谢谢 <script type="text/javascript"> $('form').on('submit', function () { var thisForm

嗨,我在一个表单中有两个提交按钮。下面的脚本通过向用户发送警报消息来帮助防止提交空字段。但是,我只需要单击两个提交按钮中的一个来运行它。因此,换句话说,如果单击一个按钮,它将提交包含或不包含空白字段的表单,而另一个按钮将运行下面的脚本,并且不允许使用空白字段提交表单。非常感谢您的帮助,谢谢

   <script type="text/javascript">
     $('form').on('submit', function () {
        var thisForm = $(this);
        var thisAlert = thisForm.data('alert');
        var canSubmit = true;
        thisForm.find('[data-alert]').each(function(i) {
            var thisInput = $(this);
            if ( !$.trim(thisInput.val()) ) {
                thisAlert += '\n' + thisInput.data('alert');
                canSubmit = false;
            };
        });
        if( !canSubmit ) {
            alert( thisAlert );
            return false;
        }
    });
    </script>

$('form')。在('submit',函数(){
var thisForm=$(本);
var thisAlert=thisForm.data('alert');
var canSubmit=true;
thisForm.find(“[data alert]”)。每个(函数(i){
var thisInput=$(此);
if(!$.trim(thisInput.val())){
thisAlert+='\n'+thisInput.data('alert');
canSubmit=false;
};
});
如果(!canSubmit){
警报(thisAlert);
返回false;
}
});

与其连接到表单提交事件,不如连接到要验证的按钮的单击事件。单击事件返回true将允许提交,返回false将阻止提交。

您有一个表单和两个提交按钮,默认情况下,这两个按钮都将提交表单。要防止一个按钮提交,请添加一个单击处理程序,该处理程序既可以防止默认提交操作,也可以执行您希望该按钮执行的任何其他操作

HTML

<form id="form">
    <input type="text" value="something" />
    <input id="submit1" type="submit" value="send" />
    <input id="submit2" type="submit" value="ignore" />
</form>
<form>
  <input type="text" value="" id="name"/>
  <input type="submit" class="btn_submit" value="Submit validate" data-valid="yes"/>
  <input type="submit" class="btn_submit" value="Submit without validate" data-valid="no"/>
</form>

演示

您可以尝试添加单击事件并向提交按钮添加类。因此,您知道单击哪个按钮将相应地提交表单

$('form button').click(function(){
  if($(this).hasClass('.submit-without-validation')) { 
     $('form').submit();
  }

  if($(this).hasClass('.submit-with-validation')) { 
     //Do your validation and then submit
  }
});

有太多的答案,你可以用来实现你想要的。你也可以试试这个。这里有一些解释。基本上,您需要使用html5数据属性来设置值来区分这两个按钮。单击按钮时,您可以使用以下代码检查值使用条件:

HTML

<form id="form">
    <input type="text" value="something" />
    <input id="submit1" type="submit" value="send" />
    <input id="submit2" type="submit" value="ignore" />
</form>
<form>
  <input type="text" value="" id="name"/>
  <input type="submit" class="btn_submit" value="Submit validate" data-valid="yes"/>
  <input type="submit" class="btn_submit" value="Submit without validate" data-valid="no"/>
</form>

在函数中包含脚本。例如,函数formWithEmpty(){//ur script}和另一个用于其他脚本的函数。点击按钮调用函数。你在5小时前问了一个非常类似的问题:我在两个问题上都给出了一个类似的答案,可以满足你的要求。我明白你的意思,但我如何做到这一点?@Anthony C.,在这个问题的答案中,包括我的答案,有几个例子说明了如何做到这一点。此外,请参见您刚才提出的完全相同的问题的答案。你有很多人已经给了你所需要的代码。