2014-05-13 1 views
1

저는 초보자이며 자바 스크립트에서 경고 상자를 팝업으로 표시하려고합니다. 그러나, 아무것도 내 코드에서 팝업. 페이지가 새로 고쳐지고 url 막대에 양식에 입력 한 정보가 포함됩니다. 내 코드에 무슨 문제가 있습니까? 당신이 당신의 콘솔에서 살펴 경우 당신은 당신의 if 성명에서 '부모'를 사용하는 것처럼javascript에서 경고 팝업을 표시하려고하는데 아무 것도 발생하지 않습니다.

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

코드에 jsfiddle을 만들 수 있습니까? – Sandeeproop

+1

'validateform'은 함수이며, 그 함수를 호출하기 위해 무엇을 사용하고 있습니까? 당신이'if'와'else'에 경고를하기 때문에, 당신이 어느 쪽도 안하고 있다면, 당신의 기능이 호출되지 않을 가능성이 있습니다. – wf4

+0

@ wf4, 제출 버튼에서 함수를 호출하고 있습니다. 그것은 onclick에 있습니다. 이전에는 경고 만이 함수 안에 있었을 때 나는 이것을 추가했을 때 팝업이 발생하지 않았습니다. if 문 내부의 조건에 제한이 있습니까? – user2804564

답변

0

'parents' is undefined

, 그것은 보이지만 그것은 존재하지 않습니다.

parents을 삭제하거나 var parents = 1;을 추가하면 문제가 해결됩니다.

또한 if 문을 살펴 봐야합니다. Double == 또는 triple ===이 같지 않은 단일 값인 =을 사용하고 있습니다.

싱글은 값을 double, triple로 비교합니다. 차이점은 트리플과 똑같은데 true를 반환하려면 같은 유형이어야합니다.

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) 
+0

덕분에, 난 그냥 그 사실을 알아 채지 못했어요, 난 정말 구문 오류를 확인에 더 환자 여야한다고 생각합니다. :) – user2804564

관련 문제