如何解决开关javascript

如何解决开关javascript,javascript,html,Javascript,Html,我在开/关开关上有个问题。我有一个代码,它不能正常工作,因为它在我写checked的时候可以正常工作,但我想要两种情绪,开和关,当不写checked的时候它不能正常工作,当我写checked的时候,它不能正常工作,当我写checked的时候,它可以正常工作( 函数DisEn(X){ document.A.T1.disabled=X; document.A.T2.disabled=X; } HTML: <form name="A" method="get" action="switch

我在开/关开关上有个问题。我有一个代码,它不能正常工作,因为它在我写checked的时候可以正常工作,但我想要两种情绪,开和关,当不写checked的时候它不能正常工作,当我写checked的时候,它不能正常工作,当我写checked的时候,它可以正常工作(


函数DisEn(X){
document.A.T1.disabled=X;
document.A.T2.disabled=X;
}  
HTML:

<form name="A" method="get" action="switch.php">
    <div class="onoffswitch">
<input type="checkbox" name="onoffswitch" value="off"class="onoffswitchcheckbox"    
   id="myonoffswitch" onClick="DisEn()" checked> 


<label class="onoffswitch-label" for="myonoffswitch">
<div class="onoffswitch-inner"></div>
<div class="onoffswitch-switch"></div>
</label>

</div>
<input type="text" name="T1" value="A" disabled>  
  <input type="text" name="T2" value="B" disabled>

 <input type="submit" name="T4" value="Submit" >      
 </form>
function DisEn(){  

    if(document.A.onoffswitch.checked == false)
    {
  document.A.T1.disabled=false;
  document.A.T2.disabled=false;
    }
    else
    {
  document.A.T1.disabled=true;
  document.A.T2.disabled=true;
    }


}  
这里是jsfiddle使用
onchange=DisEn(this)
如下示例:

<script>  
    function DisEn(element){  
       if (element.checked === true) {
          document.A.T1.disabled=true;
          document.A.T2.disabled=true;
          element.value="off";
       } else {
          document.A.T1.disabled=false;
          document.A.T2.disabled=false;
          element.value="on";
       }
    }  
</script>
<form name="A" method="get" action="switch.php">
    <div class="onoffswitch">
        <input type="checkbox" name="onoffswitch" value="off" 
            class="onoffswitchcheckbox" id="myonoffswitch"
            onchange="DisEn(this)" checked = "checked" />
        <label class="onoffswitch-label" for="myonoffswitch">
            <div class="onoffswitch-inner"></div>
            <div class="onoffswitch-switch"></div>
        </label>
    </div>
    <input type="text" name="T1" value="A" disabled = "disabled" />
    <input type="text" name="T2" value="B" disabled = "disabled" />
    <input type="submit" name="T4" value="Submit" />
</form>

函数DisEn(元素){
if(element.checked==true){
document.A.T1.disabled=true;
document.A.T2.disabled=真;
element.value=“关”;
}否则{
document.A.T1.disabled=false;
document.A.T2.disabled=false;
element.value=“on”;
}
}  
您可以检查。如果它有问题或我忘记做什么,请通知,我将更新演示


使用此选项,您将能够为每个复选框设置它,只需使用
onchange=DisEn(此选项)
在您的复选框上。

请使用
document.getElementById
而不是不推荐的
document.form.name
语法。可能也会解决您的问题。使用JFiddle。在这里,我为您创建了一个:@OliverWatkins,您的不起作用,伙计!我只是粘贴了他所做的。我没有在那里提出解决方案为什么不只是
document.A.T1.disabled=element.checked;
document.A.T2.disabled=element.checked;
而不是
if/else
语句:@Bondye因为我想写,因为我想为OP:)写一个不可理解的代码。我想你可以用这种方式更容易理解它。你给了一个更短的方法。我很感激它更新了。谢谢@达格利米奥:谢谢!你的代码有效!但我想在php页面上关闭或打开值,我的意思是,当开关关闭时,用提交键关闭,而它打开时,则打开“打开”。@sepidehfaraji欢迎您!然后,您只需更改复选框的值。我会更新的。
<script>  
    function DisEn(element){  
       if (element.checked === true) {
          document.A.T1.disabled=true;
          document.A.T2.disabled=true;
          element.value="off";
       } else {
          document.A.T1.disabled=false;
          document.A.T2.disabled=false;
          element.value="on";
       }
    }  
</script>
<form name="A" method="get" action="switch.php">
    <div class="onoffswitch">
        <input type="checkbox" name="onoffswitch" value="off" 
            class="onoffswitchcheckbox" id="myonoffswitch"
            onchange="DisEn(this)" checked = "checked" />
        <label class="onoffswitch-label" for="myonoffswitch">
            <div class="onoffswitch-inner"></div>
            <div class="onoffswitch-switch"></div>
        </label>
    </div>
    <input type="text" name="T1" value="A" disabled = "disabled" />
    <input type="text" name="T2" value="B" disabled = "disabled" />
    <input type="submit" name="T4" value="Submit" />
</form>