2015-09-29 61 views
0

我是网络开发新手。我有两个按钮的形式,我有一个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> 

据工作,函数验证的作品,但我想限制这种验证只是为第一个按钮,而不是为其他,我想拿出第二个按钮,但如果我这样做,将不会提交表单。

任何帮助将不胜感激!

回答

0

如果您确实希望两个按钮都可以提交表单,但只有'开始'才能在提交之前验证表单。从表格中删除onsubmit="return validateForm()"并将其添加到按钮的点击。

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

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

+0

非常感谢!这个作品=) – fabrik

+0

很高兴我能帮忙! – BenG