Javascript 为什么我的表单即使返回false仍在提交?
我编写了这个代码,它提交了一个带有姓名和年龄字段的表单,并带有一个提交按钮。我的代码如下所示:Javascript 为什么我的表单即使返回false仍在提交?,javascript,html,forms,Javascript,Html,Forms,我编写了这个代码,它提交了一个带有姓名和年龄字段的表单,并带有一个提交按钮。我的代码如下所示: 函数检查表(){ var name=document.forms[“form”][“name”].value; var age=document.forms[“form”][“age”].value; var regName=/^[A-Z]*[A-Z]{3,}$/; var regAge=/^[\d.*{1,}$/; if(name==regName&&age==regAge){ 返回true; }
函数检查表(){
var name=document.forms[“form”][“name”].value;
var age=document.forms[“form”][“age”].value;
var regName=/^[A-Z]*[A-Z]{3,}$/;
var regAge=/^[\d.*{1,}$/;
if(name==regName&&age==regAge){
返回true;
}否则{
返回false;
}
}
姓名:
年龄:
提交
表单默认行为类似于,如果在提交时调用函数,它将获得提交。因此,您可以在按钮submit上调用该函数
<button type="submit" name="submit" onsubmit="return checkForm()">Submit</button>
提交
尝试添加event.preventDefault();当数据无效时
function checkForm(event){
var name = document.forms["form"]["name"].value;
var age = document.forms["form"]["age"].value;
var regName = /^[A-Z]*[a-z]{3,} $/;
var regAge = /^[\d.*]{1,} $/;
if (name == regName && age == regAge){
return true;
} else{
event.preventDefault();
return false;
}
}
尝试使用
pattern.test('stringMethod')
function checkForm(event){
var name = document.forms["form"]["name"].value;
var age = document.forms["form"]["age"].value;
var regName = /^[A-Z]*[a-z]{3,} $/;
var regAge = /^[\d.*]{1,} $/;
if (regName.test(name) && regAge.test(age)){
return true;
} else{
event.preventDefault();
return false;
}
}