我是javascript的初学者,我试图在给定条件下弹出警报框。但是,我的代码中没有弹出任何内容。页面刷新,url栏包含我在表单中输入的信息。我的代码出了什么问题?
function validateform(form)
{
var self = 1;
var spouse = 1;
var mom = 1;
var dad = 1;
var educ = 1;
var work = 1;
var elig = 1;
if((form.country.value == "Bangladesh" || form.country.value == "Brazil" || form.country.value == "Canada" || form.country.value == "China" || form.country.value == "Colombia" || form.country.value == "Dominican Republic" || form.country.value == "Ecuador" || form.country.value == "El Salvador" || form.country.value == "Haiti" )|| (form.country.value == "India" || form.country.value == "Jamaica" || form.country.value == "Mexico" || form.country.value == "Nigeria" || form.country .value == "Pakistan" || form.country.value == "Peru" || form.country.value == "Philippines" || form.country.value == "South Korea" || form.country.value == "United Kingdom" || form.country.value == "Vietnam"))
{
self = 0;
}
if((form.countryspouse.value = '' || form.countryspouse.value == "Bangladesh" || form.countryspouse.value == "Brazil" || form.countryspouse.value == "Canada" || form.countryspouse.value == "China" || form.countryspouse.value == "Colombia" || form.countryspouse.value == "Dominican Republic" || form.countryspouse.value == "Ecuador" || form.countryspouse.value == "El Salvador" || form.countryspouse.value == "Haiti" )|| (form.countryspouse.value == "India" || form.countryspouse.value == "Jamaica" || form.countryspouse.value == "Mexico" || form.countryspouse.value == "Nigeria" || form.countryspouse.value == "Pakistan" || form.countryspouse.value == "Peru" || form.countryspouse.value == "Philippines" || form.countryspouse.value == "South Korea" || form.countryspouse.value == "United Kingdom" || form.countryspouse.value == "Vietnam"))
{
spouse = 0;
}
if((form.countrydad.value == "Bangladesh" || form.countrydad.value == "Brazil" || form.countrydad.value == "Canada" || form.countrydad.value == "China" || form.countrydad.value == "Colombia" || form.countrydad.value == "Dominican Republic" || form.countrydad.value == "Ecuador" || form.countrydad.value == "El Salvador" || form.countrydad.value == "Haiti" )|| (form.countrydad.value == "India" || form.countrydad.value == "Jamaica" || form.countrydad.value == "Mexico" || form.countrydad.value == "Nigeria" || form.countrydad.value == "Pakistan" || form.countrydad.value == "Peru" || form.countrydad.value == "Philippines" || form.countrydad.value == "South Korea" || form.countrydad.value == "United Kingdom" || form.countrydad.value == "Vietnam"))
{
dad = 0;
}
if((form.countrymom.value == "Bangladesh" || form.countrymom.value == "Brazil" || form.countrymom.value == "Canada" || form.countrymom.value == "China" || form.countrymom.value == "Colombia" || form.countrymom.value == "Dominican Republic" || form.countrymom.value == "Ecuador" || form.countrymom.value == "El Salvador" || form.countrymom.value == "Haiti" )|| (form.countrymom.value == "India" || form.countrymom.value == "Jamaica" || form.countrymom.value == "Mexico" || form.countrymom.value == "Nigeria" || form.countrymom.value == "Pakistan" || form.countrymom.value == "Peru" || form.countrymom.value == "Philippines" || form.countrymom.value == "South Korea" || form.countrymom.value == "United Kingdom" || form.countrymom.value == "Vietnam"))
{
mom = 0;
}
if(form.education.value == "noeducation")
{
educ = 0;
}
if(form.occupation.value == "None")
{
work = 0;
}
if(((educ + work) == 0 )||((self + spouse + parents) == 0 ))
{
alert("Sorry, you are ineligible.");
}else
{
alert("You are eligible.");
}
}
答案 0 :(得分:0)
'parents' is undefined
如果您在控制台中查看,看起来您在if
声明中使用了“父母”,但它不存在。
如果您删除parents
或添加var parents = 1;
,则会有效。
您还应该查看if
语句。您使用的是单个等于=
而不是双==
或三===
个等号。
Single将设置一个值,double和triple将进行比较 - 唯一的区别是使用triple,它们也必须是相同的类型才能返回true。
e.g。
1 = 1 -- will set int 1 with a value of 1
1 == "1" -- will return true (int compared to a string)
1 === "1" -- will return false (int compared to a string)