2014-04-19 2 views
1

여러 개의 텍스트 입력과 확인란 배열이 있습니다. 텍스트 입력 값이 6보다 작 으면 확인란을 비활성화하십시오. 시도했지만 확인란을 항상 사용할 수 있습니다.자바 스크립트에서 텍스트 입력 조건이 참이면 체크 박스를 비활성화하십시오.

<script> 
    function desactivacasillas() { 
     var formularioprincipal = document.getElementById("troncocomun"); 
     var primerelemento = document.getElementById("1").value; 

     if (document.getElementById("1").value < 6) { 
      var checkbox1 = document.getElementById("checkbox1").disabled = true; 
     } 
    } 
</script> 
<table> 
    <tr> 
     <td nowrap id="materia">ALGEBRA</td> 
     <td>5.62</td> 
     <td> 
      <input type="text" id="1" name="1" onkeydown="return validarnumero(event)" onkeypress="return compruebacampo(event,this)" onkeyup="desactivacasillas(event)"> 
     </td> 
     <td> 
      <input type="hidden" name="carga[0]" id="checkbox1" value="0"> 
      <input type="checkbox" name="carga[0]" id="checkbox1" value="5.62"> 
     </td> 
    </tr> 
</table> 

내가 뭘 잘못하고 있는지 말해 줄 수 있습니까?

+0

숨겨진 요소를 사용하지 않도록 설정하려고합니다. ID는 ** 고유해야합니다 **! –

+0

왜 인라인 이벤트를 사용하고 있습니까? (문제가 있다고 말하는 것은 아닙니다) –

+0

인라인 이벤트는 무엇을 의미합니까? – user3504980

답변

0

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"> 
</script> 



<script> 
function desactivacasillas(args) { 



if (document.getElementById("1").value.length < 6) { 
$("#checkbox2").attr("disabled", true); 
} 
else 
{ 
$("#checkbox2").attr("disabled", false); 
} 
} 
</script> 
<table> 
<tr> 
<td nowrap id="materia">ALGEBRA</td> 
<td>5.62</td> 
<td> 
    <input type="text" id="1" name="1" onkeyup="desactivacasillas(this.value)"> 
</td> 
<td> 
    <input type="hidden" name="carga[0]" id="checkbox1" value="0"> 
    <input type="checkbox" name="carga[0]" id="checkbox2" value="5.62"> 
    </td> 
    </tr> 
</table> 


    </body> 
</html> 

아무것도 물어 주시기 바랍니다 시도했다 아래입니다.

+0

죄송하지만 체크 상자는 계속 활성화되어 있습니다. – user3504980

+0

checkbox1의 id를 5.62의 checkbox2로 변경 했습니까?이 링크 [http://www.w3schools.com/js/tryit.asp?filename=tryjs_myfirst]를 사용하여 전체 코드를 복사하여 붙여 넣기합니까? 거기 그것은 작동하고있다 나는 그것을 시도했다. 아마 onkeydown 및 onkeypress 기능은 작동하지 않을지도 모른다. – TruePS

+0

예 확인란의 ID를 변경했습니다. 링크가 작동하지 않습니다. – user3504980

0

ID를 고유하게 설정하십시오. 여기에 내가 노력하고 위의 프로그램을 이해하지 않는 경우

<script> 
    function desactivacasillas() { 
     var formularioprincipal = document.getElementById("troncocomun"); 
     var primerelemento = document.getElementById("1").value; 

     if (document.getElementById("1").value < 6) { 
      var checkbox1 = document.getElementById("checkbox2"); 
      checkbox1.disabled = true; 
     } 
    } 
</script> 
<table> 
    <tr> 
     <td nowrap id="materia">ALGEBRA</td> 
     <td>5.62</td> 
     <td> 
      <input type="text" id="1" name="1" value="6" onkeydown="return 

validarnumero(event)" onkeypress="return compruebacampo(event,this)" 

onkeyup="desactivacasillas(event)"> 
     </td> 
     <td> 
      <input type="hidden" name="carga[0]" id="checkbox1" value="0"> 
      <input type="checkbox" name="carga[0]" id="checkbox2" value="5.62"> 
     </td> 
    </tr> 
</table> 
+0

죄송 합니다만, 낮은 값인 6을 쓰더라도 확인란이 계속 활성화되어 있습니다. – user3504980

0

시도해보십시오. 로딩하는 동안 자바 스크립트의로드 기능을 사용하여 체크 박스를 비활성화하십시오. 입력은 문자열로 값을 반환하기 때문에 Int 함수를 사용하십시오.

체크 박스의 ID를 변경하십시오. ID는 항상 고유합니다.

<script> 
    function disableCheckbox(){ 
     document.getElementById("checkbox2").disabled = true; 
    } 
    function desactivacasillas() { 
     var formularioprincipal = document.getElementById("troncocomun"); 
     var primerelemento = document.getElementById("1").value; 
     if (parseInt(document.getElementById("1").value,10) > 6) { 
      document.getElementById("checkbox2").disabled = false; 
     } 
    } 
</script> 

<body onload="disableCheckbox();"> 
    <table> 
     <tr> 
      <td nowrap id="materia">ALGEBRA</td> 
      <td>5.62</td> 
      <td> 
       <input type="text" id="1" name="1" onkeyup="desactivacasillas(event)"> 
      </td> 
      <td> 
       <input type="hidden" name="carga[0]" id="checkbox1" value="0"> 
       <input type="checkbox" name="carga[0]" id="checkbox2" value="5.62"> 
      </td> 
     </tr> 
    </table> 
</body> 
관련 문제