如果onsubmit在javascript中返回true,如何使用onsubmit进行验证和onclick进行任何操作

时间:2016-06-27 05:29:49

标签: javascript

我已经在html中创建了表单,现在我尝试使用onsubmit进行验证以及onclick进行另一个操作,如果onsubmit返回true。我无法找到正确的方法。

<form role="form" onsubmit='return formValidation()'>
        <div class="form-group">
          <p id="bookiderror" style="color: red"></p>
          <label >ಪುಸ್ತಕದ ಐಡಿ:</label>
          <input type="text" id="bookid" class="form-control">
        </div>
        <div class="form-group">
          <p id="booknameerror" style="color: red"></p>
          <label>ಪುಸ್ತಕದ ಹೆಸರು:</label>
          <input type="text" id="bookname" class="form-control">
        </div>
         <div class="form-group">
          <p id="rupeeserror" style="color: red"></p>
          <label >ರೂಪಾಯಿ:</label>
          <input type="text"id="rupees" class="form-control">
        </div>
         <div class="form-group">
          <p id="bookpubishererror" style="color: red"></p>
          <label >ಪುಸ್ತಕದ ಪ್ರಕಾಶಕರು:</label>
          <input type="text" id="bookpublisher" class="form-control">
        </div>
         <div class="form-group">
          <p id="bookeditionerror" style="color: red"></p>
          <label >ಪುಸ್ತಕದ ಆವೃತ್ತಿ:</label>
          <input type="text" id="bookedition" class="form-control">
        </div>
         <div class="form-group">
          <p id="bookyearerror" style="color: red"></p>
          <label >ಪುಸ್ತಕದ ವರ್ಷ:</label>
          <input type="text" id="bookyear" class="form-control">
        </div>
        <input type="submit" value="AddBook" class="btn btn-primary" onclick="addbook()" id="submit"/>
      </form>

3 个答案:

答案 0 :(得分:0)

你可以这样做。 formValidation 方法应返回false,否则页面将刷新。

function formValidation(){
     //write your formValidation logic here
     if(form.isValid){
         //call your add book here
         addbook();
     }
     return false;
}

答案 1 :(得分:0)

function formValidation(){


//Enter your validation logic here.
if (false) return false;

return true; //default

}

function addBook() {

if (formValidation()){
    //Your insertion code here.
}
else
{

    alert('Error message.'); 

}

}

现在,只需删除onClick函数,然后将addBook()函数放入onSubmit。

答案 2 :(得分:0)

你不能。

点击事件首先触发。只有在使用提交按钮的默认行为解决后,才会激活并触发提交。

因此,无法在单击处理程序之前运行提交处理程序。

您需要:

  • 执行您的提交处理程序在每个单击处理程序顶部执行的所有测试。
  • 让click处理程序只记录哪个提交按钮被激活,然后使用它来确定在提交处理程序结束时要做什么。