以下脚本应根据用户在下拉框中所做的选择(var 问题)仅验证某些输入字段。
我遇到的问题是当 if 语句针对问题 == 4(如下)运行并且用户填写了相应的 cityid 字段时,下一个 if 语句(问题 == 5)的警报(警报#3)是触发。如果用户从下拉列表中选择了问题 == 5 并且没有填写模型字段,我只想触发警报#3。
当 if 语句针对问题 == 5 运行时,分别会发生同样的问题。
function ValidateSOR()
{
var user = document.SOR.User;
var problem= document.SOR.Problem;
var cityid = document.SOR.CityID;
var errors1 = document.SOR.ErrorCodes1;
var model = document.SOR.Model;
var errors2 = document.SOR.ErrorCodes2;
var software = document.SOR.SoftwareType;
if (user.value == "")
{
window.alert("Please enter your name.");
user.focus();
return false;
}
if (problem.selectedIndex < 1)
{
alert("Alert#1");
problem.focus();
return false;
}
if (problem.selectedIndex == 4)
{
cityid.focus();
}
else if (cityid.value == "")
{
alert("Alert#2");
cityid.focus();
return false;
}
if (problem.selectedIndex == 5)
{
model.focus();
}
else if (model.value == "")
{
alert("Alert#3");
model.focus();
return false;
}
if (problem.selectedIndex == 6)
{
software.focus();
}
else if (software.value == "")
{
alert("Alert#4");
software.focus();
return false;
}
return true;
}