2014-10-30 4 views
1

안녕하세요, 저는 자바 라디오 버튼에 대해 유효성 검사를 일부 시도하지만 작동하지 않습니다. 버튼을 클릭 할 때마다 아무 일도 일어나지 않습니다. 코드는 다음과 같습니다.


HTML 부분자바 스크립트 라디오 버튼 유효성 확인

<form name="FirstPizza"> 
     <td> 
      Style: 
       <br/> 
      <input type="radio" name="style"/> 
      Thin Crust 
       <br /> 
      <input type="radio" name="style" /> 
      Deep Dish 
       <br /> 
      <input type="radio" name="style" /> 
      Sicilian 
     </td> 
    </form> 

자바 스크립트 :

function submitForm(){ 
     if((!form.style[0].checked) && (!form.style[1].checked) && (!form.style[2].checked)) 
      { 
      window.alert("You must have a style") 
      } 

난 상자와 함께해야하지만, 아무것도 일어나지 않습니다. 내가 놓친 게 있니?

+0

는'어디서든이 함수 범위 이상으로 정의 form'입니까? – sircapsalot

+0

아니요, 여기에 뭔가를 추가해야합니까? – user2791881

+0

그 때 문제가 있습니다. 'form'은 정의되지 않았습니다. 나는 대답을 – sircapsalot

답변

1

가까이에! 귀하의 의견에 따르면 form 변수가 정의되지 않았습니다. 이 같은 곳 form를 정의해야

function submitForm() { 
    // define the form variable 
    var form = document.getElementsByName("FirstPizza")[0]; 

    if((!form.style[0].checked) && (!form.style[1].checked) && (!form.style[2].checked)) { 
    window.alert("You must have a style"); 
    } else { 
    window.alert("a style was selected");  
    } 
} 

양식 컨트롤

+0

@OP를 염두에 두십시오. 어딘가에이 함수를 실행해야합니다. 내 jsfiddle에서, 시간을 위해서, 나는 방금 버튼을 만들었다. 일반적으로 이것을 '

과 같이 입력하십시오. 유효성 검사 문제가 있으면 JavaScript가'false false'를 반환합니다. – sircapsalot

1

ID 사용 (jsfiddle here 작업 참조)! 이 시도 :

HTML 부분

<form name="FirstPizza"> 
     <td> 
      Style: 
       <br/> 
      <input type="radio" id="rbThinCrust" name="style"/> 
      Thin Crust 
       <br /> 
      <input type="radio" id="rbDeepDish" name="style" /> 
      Deep Dish 
       <br /> 
      <input type="radio" id="rbSicilian" name="style" /> 
      Sicilian 
     </td> 
    </form> 

자바 스크립트 :

function submitForm(){ 
     if (!document.getElementById("rbThinCrust").checked && !document.getElementById("rbThinCrust").checked && !document.getElementById("rbThinCrust").checked) 
      //Logic for nothing being checked 
} 
0

은 모두 당신의 HTML과 자바 스크립트가 완전히 깨진입니다.

먼저 HTML을 입력하십시오. 거기에 버튼을위한 HTML이 없다. 자바 스크립트 이벤트를 먼저 연결해야한다.

당신은이 같은 제출 버튼을 만들 것입니다 :

<input type="submit" value="Submit" onclick="submitForm(this)" /> 

라디오 버튼 또한 텍스트가 value 속성을 통해 설정해야하므로 같은 :

이제
<input type="radio" name="style" value="Thin Crust" /> 
<input type="radio" name="style" value="Deep Dish" /> 
<input type="radio" name="style" value="Sicilian" /> 

당신의 자바 스크립트, 그것은해야 더보기 :

function submitForm(form){ 
    if((!form.style[0].checked) && (!form.style[1].checked) && (!form.style[2].checked)) 
    { 
     window.alert("You must have a style") 
} 

희망의 작품 너를 위해서.

그리고 최종 HTML은 다음과 같아야합니다

<form name="FirstPizza"> 
Style:<br /> 
<input type="radio" name="style" value="Thin Crust" />Thin Crust<br /> 
<input type="radio" name="style" value="Deep Dish" />Deep Dish<br /> 
<input type="radio" name="style" value="Sicilian" />Sicilian 
</form> 
+0

저는이 사람이 HTML로 시작하고 있다고 확신합니다./자바 스크립트. ':)'한 번에 한걸음 – sircapsalot

+0

@sircapsalot 예. 내가 가혹한 것처럼 보인다면 미안해! 가끔씩 올바른 점을 얻는 데 나는 끔찍합니다. – phantom

+0

새로운 엔지니어를 프로그래밍하고 가르치는 데 수년이 걸 렸지만 실제로 포인트를 얻는 방법이 있습니다.이와 같이 너무 많은 "건설적인 피드백"은 그들의 발전에 해로울 수 있습니다.') 그래서 그렇습니다. 개발 경력에서 진전되면서 의미가있는 것들이 분명히 있습니다.') ID를 사용하는 것과 같이 조그마한 규칙은 그 개발의 일부입니다. 그래도 해가되지 않습니다. 걱정 마. 젠장, 나는 아직도 SENIOR 웹 개발자에게 ID를 사용하도록 상기시켜야한다. *한숨* – sircapsalot

관련 문제