2016-11-07 3 views
0

입력 요소 중 하나의 required 속성이 checked 중 하나의 확인란 상태에 따라 달라집니다. 해당 입력란에 required 속성을 동적으로 설정하여 HTML5의 필수 입력란 오류를 발생시킬 수 없습니다.동적으로 필수 필드를 확인할 수 없습니다.

<input type="text" name="date" id="date" /> 
<input type="checkbox" name="immediate" id="immediate" onchange="setRequired(this.checked)" /> 

<script type="text/javascript"> 
    function setRequired(checked) 
    { 
     var date = document.getElementById("date"); 
     if(checked) { 
      date.required = false; 
     } 
     else 
      date.required = true; 

    } 
</script> 

양식을 실행할 때 날짜 입력시 HTML5 유효성 검사가 표시되지 않습니다.

+1

'date.required = TRUE '와'date.setAttribute ('필요 ''진실 ')'는 2 가지 다른 것들입니다. 'setAttribute' 메소드에 균열을줍니다. 자바 스크립트 멤버 변수와 html 속성에는 차이가 있습니다. 일부 요소의 경우 100 % 동일합니다. 다른 사람들에게는 상황이 좀 덜 장미 빛입니다. – enhzflep

+0

'date.required = true'는 폼의 다른 필드와 마찬가지로 입력에'required' 속성을 설정합니다. '.setAttribute'를 사용하겠습니다. –

+0

더 적은 코드를 사용해보십시오 :'document.getElementById ("date"). setAttribute ('required', checked)'. ;-) – RobG

답변

0
<input type="text" name="date" id="date" /> 
<input type="checkbox" name="immediate" id="immediate" onchange="setRequired(this.checked)" /> 

<script type="text/javascript"> 
    function setRequired(checked) 
    { 
    var date = document.getElementById("date"); 
      console.log(checked); 
    if(checked) { 

     date.setAttribute("required",false); 
    } 
    else { 
     date.setAttribute("required",true); 
    } 
    console.log(date); 

}

콘솔 로그는 요소가 변경 확인 도움이 될 것입니다

http://plnkr.co/edit/xFEJchgAqX5g9u2q6iWT?p=preview

관련 문제