我试图弄清楚为什么提交表单后没有调用此函数。提交表单后,“ checkForm()” JS函数可以正常工作,但是我似乎无法使checkDates()函数正常工作。我尝试将其移到PHP代码上方,但未显示任何警告消息。任何帮助,不胜感激,谢谢!

这是我文件的伪代码版本:

<?php

if(isset($_POST['next'])){
    // Some PHP code

    echo "<script> checkDates(); </script>";
}

?>

<form name="form1" id="form1" method="post" action="<?php print $thispage;?>" onsubmit="return checkForm()">

// Some HTML code

</form>

<script>
var isDateTimeValid = true;

function checkDates() {
    alert("Hello");
    isDateTimeValid = false;
}

function checkForm () {

    if (isDateTimeValid == true) {
        return true;
    }
    else {
        return false;
    }
}

</script>

最佳答案

试试这个,它将起作用。

在这里,您的php代码必须位于文件的最后,然后它将起作用。否则不行。

     <form name="form1" id="form1" method="post" action="#" onsubmit="return  checkForm()">

     // Some HTML code
     <input type="hidden" name="next" value="sd">
     <input type="submit">

     </form>

     <script>
      var isDateTimeValid = true;

       function checkDates() {
       alert("Hello");
       isDateTimeValid = false;
      }

     console.log(isDateTimeValid);
     function checkForm () {

     if (isDateTimeValid == true) {
        return true;
     }
     else {
        return false;
       }
     }

   </script>
   <?php

    if(isset($_POST['next'])){
      echo "<script> checkDates(); </script>";
     }
     ?>

10-07 18:03
查看更多