2014-08-29 32 views
0

如何在用戶選擇要運送時啓用文本區域?當從<select>中選擇值時啓用文本區域

我有這些代碼。

<script> 
    function my_func(selectValue){ 

     if(selectValue=="To Be Shipped") 
     {  
       document.getElementById("trackingNo").disabled="false"; 
     } 
     } 
</script> 

這是我的表單。

<form action="update_status.php?serial=<?php echo $_GET['serial']?>" method="post"> 
        <fieldset> 
        <h4>Edit Order Status</h4><br> 
        <div id=""> 
         <select name="order_status" onchange="my_func(this.value)"> 
          <option value="On Process">On Process</option> 
          <option value="Ready for Pickup">Ready for Pickup</option> 
          <option value="To Be Shipped">To Be Shipped</option> 
         </select>     
         <label>Tracking Number</label> 
         <input type="text" id="trackingNo" placeholder="Enter Tracking Number" name="tracking_no" disabled>      
         <button type="submit" class="btn">Submit</button> 
        </div> 


        </fieldset> 
       </form> 

我該如何解決我的代碼?

回答

0

嘗試使用false作爲布爾值而不是字符串。

document.getElementById("trackingNo").disabled = false; 
1

您設置假的字符串應該是這樣

document.getElementById("trackingNo").disabled=false; 

一個布爾值,所以,你的完整功能應該像

function my_func(selectValue){ 

    if(selectValue=="To Be Shipped") 
    {  
      document.getElementById("trackingNo").disabled=false; 
    } 
} 

有一個替代解決方案通過@Ahmed的建議使用removeAttribute函數,使語法看起來像

document.getElementById("trackingNo").removeAttribute("disabled"); 
+0

你也可以的removeAttribute'(「禁用」)' – Ahmed 2014-08-29 21:30:05

0

看看這個:JSFiddle.net/siva_hari/9wf5k804

function my_func(selectValue){ 
     if(selectValue=="To Be Shipped") 
     {  $("#trackingNo").removeAttr('disabled'); 
     } 
    else{ 
     $('#trackingNo').attr('disabled','disabled'); 
    } 
} 
+1

OP並沒有要求一個jQuery的解決方案,否則標籤將是他們 – V31 2014-08-29 21:38:37

+0

更新只使用JavaScript的解決方案。 – Siva 2014-08-30 01:13:09

相關問題