2014-12-17 3 views
0
<form action="#" onsubmit="return validateForm()" method="post"> 
      <table> 
        <tr> 
         <td><p> 1. </p></td> 
         <td><label> I am cool </label></td> 
         <div class="allQuestion"> 
         <?php for($i=1; $i<=10; $i++){?><td><input type="radio" name="Dquestion[1]" value="<?=$i?>"> <?=$i?> </td> <?php } ?> 
         </div> 
        </tr> 
</table><!-- strength_table end --> 
<input type="submit" value="Submit"><br/> 
</form> 

JS빠른 HTML과 자바 스크립트

function validateForm(){ 
    var questions = document.getElementsByClassName("allQuestion"); 
    for(var j=0; j<questions.length; j++){ 
    if(!isOneInputChecked(questions[j], "radio")){ 
     formValid = false; 
    } 
    } 
    alert(formValid ? "Submisson succesful!" : "Submisson Failed"); 
    return formValid; 
} 



function isOneInputChecked(sel){ 
    var inputs = sel.getElementsByTagName('input'); 

    for(var k = 0; k < inputs.length; k++){ 
    if(inputs[k].checked) 
     return true; 
    }; 
    return false; 
}; 

난 내 라디오 질문, 그것은 완벽하게 작동을 확인하려면이 옵션을 사용하고 있지만 내가 <input> 전에 <td>를 넣어 한 번, 그것은 이상한 일이, 내가 그것을 모두를 대상으로 알고 allQuestion에 의해 워핑을 입력하면 td가이를 차단합니다.

내가 자리에 TD를 유지하고 스크립트가 작동하는지 확인하는 방법을 어떤 생각? 는이 코드하지만 정확히 테스트, 그러나 다만 유 표적으로하는 TD에 ID를 제공하기 위해 노력하지 않았다 didt 작업

var questions = document.getElementsByClassName("allQuestion").getElementsByTag("Td"); 
+0

와 스타일로 학습에 바로 갈 때 편리 보인다 알고,하고를 저장하지 않습니다 div의 td. 그건 말이 안돼. 그냥 td의 생성 클래스에 질문하고 루프를 통해 루프를 반복하십시오. – Refilon

+0

~ 감사합니다. –

답변

0

마십시오 레이아웃으로 테이블 요소를 사용. 내가 먼저 시작하지만, 자신에게 수고를 단지 표 내부의 사업부를 보관하지 마십시오 CSS

function validateForm(){ 
    var checked = document.querySelector('form').elements.some(function(el){ 
    return el.checked; 
    }); 
    if(checked){ 
    //at least one is checked 
    } else { 
    //none are checked 
    } 
} 
+0

예, 그렇습니다. 그래서 테이블을 삭제합니까? 그리고 내 모든 라디오와 CSS 스타일? –

+0

예 클래스를 추가 한 다음 클래스 선택기 또는 ** input [type = "radio"]을 사용하여 CSS로 스타일을 지정하십시오 ** 귀하의 선택자가 될 수 있습니다 –

+0

고맙습니다. ~ 감사합니다. –

0
  1. 을 tryed. var questions = document.getElementsByTag ("id_name"); // id_name은 td의 ID입니다.

* 테이블을 사용하는 것은 좋은 습관이 아니며 다른 유연한 HTML 및 CSS를 사용하여 더 유연하고 읽기 쉬운 코드를 사용하십시오.

+0

감사합니다. 내가해야 할 일을 알고 있습니다. –

관련 문제