我试图在JavaScript中弹出警报但没有任何反应

时间:2014-05-13 11:04:33

标签: javascript

我是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.");
}
    }

1 个答案:

答案 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)