onsubmit 中的函数未以 javascript 形式执行

function in onsubmit not executing in javascript form

每当我按下提交按钮时,它只会提交表单,似乎不会 运行 checkSubmit 函数。我在其他示例中看到的所有内容都表明我的代码是正确的。我的调用方式有什么遗漏或错误吗?

<script language="javascript" type="text/javascript">
  function checkSubmit() {
     alert("This is an alert!");
     if (document.getElementById("userID").value.length <1) {
        alert("Please enter a User ID.");
        return false;
     }
     else {
       alert(document.getElementById("userID").value.length)
       return true;
    }
</script>

<form name="submitform1"  method="POST" action="http://127.0.0.1/MyFile.php" onsubmit="return checkSubmit();">
Enter User ID: <input id="userID" name="userID" type=text size="25"/><br />

<input type="submit" name="submit" onclick="this.form.onsubmit();" value="Submit" >
</form>
<br />

在您的 HTML 中更改从表单元素中删除 onsubmit 处理程序并更改提交按钮上的 onclick 属性以调用函数:

onclick="checkSubmit(event);"

然后,在您的函数中,阻止表单提交,进行检查,然后提交表单。

function checkSubmit(e) {
  e.preventDefault();
  // do checks
  document.submitform1.submit();
}

您的代码缺少一个 checkSubmit() 函数的右大括号。