我有一个简单的html注册表单,其中包含onsubmit =“return validateForm()”,其中validateForm()是javascript,以确保输入的格式正确,电子邮件和密码字段与其确认字段匹配。
表单操作设置为add.php。 add.php将输入添加到mysql数据库中。 javascript和php都工作正常,但即使javascript警告错误,如“密码太短”。无论如何都要运行php脚本,并在数据库中创建一个新条目。
我希望php脚本只能在成功的javascript验证后运行,并且如果任何验证失败,用户将保持在同一页面上,这是如何完成的?
我可以根据需要添加代码,但我认为这里的答案是通用的。
编辑:
例如,这里是验证名称字段的代码:
function checkName()
{
var fName = document.getElementById("firstName");
var lName = document.getElementById("lastName");
if (fName.value.length >= 2 && fName.value.match(/^[A-Za-z]+$/) && lName.value.length >= 2 && lName.value.match(/^[A-Za-z]+$/))
{
return true;
}
else
{
return false;
}
}
function validateForm(){
if (checkName() == false)
{
alert("First and Last Name must be at least 2 characters long and contain only alphabetic characters");
document.getElementById("fName").focus();
document.getElementById("fName").select();
return false;
}
}
答案 0 :(得分:1)
是firstName
还是fName
?如果fName
ID不存在,该函数将出现错误并退出而不返回任何内容,导致警报显示,但表单仍然提交。