如何将javascript应用于1个表单中的2个表单提交按钮中的1个?

时间:2015-03-25 23:42:57

标签: javascript jquery html forms

您好我使用此脚本阻止用户提交特定的空白表单文本输入字段。是一个很棒的工作,但我在1个表单中有2个提交按钮,我需要这个仅用于1.是否有任何方法使这个代码使用按钮ID或名称适用于1个特定按钮?

 <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>

2 个答案:

答案 0 :(得分:0)

你的第一行:

 $('form').on('submit', function () {

将获取文档中的所有表单元素。您可以更改“表格”&#39;其中一部分是表格元素的ID,即

 $('#form1').on('submit', function () {

答案 1 :(得分:0)

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

<强> HTML

<form id="form1">
    <input type="text" value="something" />
    <input id="submit1" type="submit" value="send" />
    <input id="submit2" type="submit" value="ignore" />
</form>

<强>的JavaScript

$('#submit2').on('click', function (event) {
    event.preventDefault();
    // Form will not be submitted
    // Do whatever you need to do when this button is clicked
});


$('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;
    }
});

演示 https://jsfiddle.net/BenjaminRay/ccuem4yy/