首页 > 解决方案 > 试图在一个表单上运行两个函数,它们都独立工作,但不能让两者都工作

问题描述

本质上,我正在尝试验证表单上的单个字段以确保它具有内容(最终也希望设置字段长度)如果该字段验证然后第二个函数应该运行。我已经尝试使用 && 将这两个函数都放在操作中,但这不起作用-我尝试将字段验证添加到单击有效的按钮上-但随后不运行下一部分

有任何想法吗?

<script type="text/javascript">
  function OnSubmitForm()
  {
    if(document.ScriptFill.status[0].checked == true)
    {
      document.ScriptFill.action ="scriptcheck-complete.php?PUI=<?php echo  $_GET["PUI"] ; ?>&STATUS=unfilled";
    }
    else
    if(document.ScriptFill.status[1].checked == true)
    {
      document.ScriptFill.action ="scriptcheck-complete.php?PUI=<?php echo  $_GET["PUI"] ; ?>&STATUS=filled";
    }
  else
    if(document.ScriptFill.status[2].checked == true)
    {
      document.ScriptFill.action ="scriptcheck-complete.php?PUI=<?php echo  $_GET["PUI"] ; ?>&STATUS=void";
    }
    return true;
  }
</script>
<script type="text/javascript">
  function validateForm() {
    var x = document.forms["ScriptFill"]["Pharmacy"].value;
    if (x == "") {
      alert("You must enter your GPhC / RCVS number");
      //return false;
    }
  }
</script>

标签: javascript

解决方案


你可以在你的 javascript 部分做这样的事情:

<script type="text/javascript">
    function OnSubmitForm()
    {
        /** Do what you want **/
        document.getElementById('form').submit();
    }
    
    /** Considering this to be the first function you want to call **/
    function validateForm() {
     // Perform all the validations here
     
     if(your validations pass){
        /* Call your second function */
        OnSubmitForm();
     }
     else{
        return false;
     }
    }
</script>

您的 HTML:

<form action='<your_action>' id='form'>
     <input type='button' onclick='validateForm()' value='Submit'/>
</form>

推荐阅读