仅针对一个按钮进行表单验证

时间:2015-09-29 18:11:33

标签: javascript html forms validation

我是网络开发的新手。我有一个带有两个按钮的表单,我有一个javascript函数来在提交表单时验证表单:

function validateForm() {
        var freq = document.forms["schedulerForm"]["frequency"].value;
        if(freq == null || freq ==""){
            alert("Please select a frequency!");
            return false;
        }

        var freqValue = document.forms["schedulerForm"]["frequencyValue"].value;
        if (freqValue == null || freqValue == "") {
            alert("Please enter a frequency value!");
            return false;
        }

        var email = document.forms["schedulerForm"]["email"].value;
        if (email == null || email == "") {
            alert("Please add an email!");
            return false;
        }       
    }

表格:(适用于问题目的)

    <form method="post" id="schedulerForm" onsubmit="return validateForm()">
            <div class="controls">
                <select id="frequency" name="frequency" class="form-control">
                    <option value="">Select a Frequency</option>
                    <option value="seconds">Seconds</option>
                    <option value="minutes">Minutes</option>
                    <option value="hours">Hours</option>
                </select>
            </div>
            <input type="text" name="frequencyValue" id="frequencyValue"> 
            <input autocomplete="off" class="input" id="email" type="text" placeholder="Enter an email" data-items="8">

            <input type="submit" class="btn btn-primary" name="btnStart" value="Start Scheduler" onclick="testScheduler('start')"/>
            <input type="submit" class="btn btn-primary" name="btnStop" value="Stop Scheduler" onclick="testScheduler('stop')"/>
</form>

它正在工作,功能验证工作,但我想限制此验证仅针对第一个按钮而不是另一个,我想取出第二个按钮,但如果我这样做,表单将不会被提交

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

如果您确实希望两个按钮都提交表单,但只有“开始”才能在提交之前使表单生效。从表单中删除onsubmit="return validateForm()"并将其添加到按钮的onclick。

<input type="submit" class="btn btn-primary" name="btnStart" value="Start Scheduler" onclick="testScheduler('start'); return validateForm();"/>

还有其他方法,但这最简单。