Javascript 如果我在警报框中单击“确定”,所有文本框将变为空?
我出现错误,例如,我有4个文本框,分别是name、dob、age和mail-id。在这个文本框中,如果我输入了name、dob和age,但我没有输入mail-id。如果我单击submit,该邮件id中出现的警报框将是空的。若我在那个警告框中点击ok,那个么三个字段名的其余部分,dob,age,若我点击ok,也会变为空Javascript 如果我在警报框中单击“确定”,所有文本框将变为空?,javascript,html,forms,Javascript,Html,Forms,我出现错误,例如,我有4个文本框,分别是name、dob、age和mail-id。在这个文本框中,如果我输入了name、dob和age,但我没有输入mail-id。如果我单击submit,该邮件id中出现的警报框将是空的。若我在那个警告框中点击ok,那个么三个字段名的其余部分,dob,age,若我点击ok,也会变为空 <script> function validateForm(){ var x=document.forms["registration_form"]["user_
<script>
function validateForm(){
var x=document.forms["registration_form"]["user_name"].value
if (x==null || x=="")
{
alert("Please Enter The Name");
return false;
}
else{ true}
var x=document.forms["registration_form"]["dob"].value
if (x==null || x=="")
{
alert("Please Enter Date Of Birth");
return false;
}
else{ true}
var x=document.forms["registration_form"]["age"].value
if (x==null || x=="")
{
alert("Please Enter Age");
return false;
}
else{ true}
var x=document.forms["registration_form"]["number"].value
if (x==null || x=="")
{
alert("Please Enter The Mobile Number");
return false;
}
else{ true}
var x=document.forms["registration_form"]["mail"].value
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (x==null || x=="" || atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
{
alert("Please Enter a Valid Mail-Id and Must fill it");
return false;
}
else{ true}
var x=document.forms["registration_form"]["address"].value
if (x==null || x=="")
{
alert("Please Enter The address ");
return false;
}
else
{
return true;
}
}
</script>
在条件检查中删除x==null
else
{
true
}
这个区块是不必要的 我假设您是从表单的onSubmit方法调用此函数。 如果是,请确保您也在使用return。例如:
<form ... onSubmit="return validateForm()" />
...
</form>
这将确保在验证函数返回false时不提交表单。为什么要执行其他操作{true}???还显示调用此验证函数的代码使用比x更好的变量名;删除您未使用的else子句;使用严格相等,或依赖输入值的真实性;通过使用包含输入字段及其错误消息的关联数组和通用循环,自动化所有这些代码。请检查firebug以进行故障排除。.您发布的代码中没有任何内容会修改输入字段。这发生在代码的其他部分。好的,我可以理解,但我的问题是,例如,我有4个文本框,分别是name、dob、age和mail-id。在这个文本框中,如果我输入了name、dob和age,但我没有输入mail-id。如果我单击submit,邮件id中会出现这样的警告框。如果我在警报框中单击“确定”,则如果我单击“确定”,则三个字段名dob、age的其余部分也将变为空。确定尝试document.getElementById'field_id'。value==用于每个字段,而不是按表单名读取