几乎所有标题一切正常,但问题是当我按提交它调用php函数,即使javascript函数返回false。
<script >
function validateForm(){
var formData = document.forms["Signup Form"]["FirstName"].value;
var div = document.getElementById("FirstNameDiv")
if(formData==null || formData=="")
{
div.innerHTML = "<p>" + "invalid" + "</p>"
return false;
}
return true;
}
</script>
<form name="Signup Form" method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" onsubmit="return validateForm();" ) ">
答案 0 :(得分:0)
在设置div.innerHTML之后你缺少一个分号,导致代码失败并且不返回false。尝试:
if(formData==null || formData=="")
{
div.innerHTML = "<p>" + "invalid" + "</p>";
return false;
}
第二眼看,你的div声明中也缺少一个分号:
var div = document.getElementById("FirstNameDiv"); #< Added semicolon
答案 1 :(得分:0)
这是我在表单上使用的提交按钮。它应调用该函数,如果返回false则不发布。
<input type="submit" value="Send" id="sbmt" onclick=" return validateForm()"/>
答案 2 :(得分:0)
您在var div = document.getElementById("FirstNameDiv")
之后和div.innerHTML = "<p>" + "invalid" + "</p>"
另外,将) ">
替换为>
你怎么知道它返回假?您是否通过从控制台调用validateForm()
来验证这一点?