2012-07-11 37 views
1

當前即時通訊使用表單提交時使用javascript來驗證所有表單輸入字段並在字段不完整時拋出錯誤。我有一個選項,雖然,檢查將被禁用幾的輸入時,和即時通訊尋求stop the errors from being thrown if the textbox is disabled.Javascript如果選擇框被禁用無錯誤

相關的代碼包括:

HTML:

   <select name="os" id="os"> 
        <option>-Select-</option> 
        <option value="A">Android</option> 
        <option value="I">iOS</option> 
        <option value="W">Windows Mobile</option> 
       </select> <font color="#CC0000">*</font> 

JS

if (document.FrontPage_Form1.Action[0].checked==true) 
    { 
     var dropvalue = document.getElementById("os"); 
     var dropText = dropvalue.options[dropvalue.selectedIndex].text; 


      if (dropText=="-Select-") && (dropvalue.disabled=false) 
      { 
       document.getElementById("OS_Msg").style.display=''; 
       document.getElementById("OS_Err").style.display=''; 

       valid==false; 
      } 

    } 

jQuery禁用

<p><input type="checkbox" name="noPhone" id="noPhone">: My Device does not have a phone number.</p> 

<script type="text/javascript"> 

      $("#noPhone").click(onCheckChange).change(onCheckChange); 

         function onCheckChange() { 
          if ($("#noPhone").is(':checked')) 
          { 
          $("select.focusDrop").attr('disabled', 'disabled'); 
          $(":text").attr('disabled', 'disabled'); 
          } 
          else 
          { 
          $("select.focusDrop").removeAttr('disabled'); 
          $(":text").removeAttr('disabled'); 
          } 
         } 

      </script> 

回答

1

除了缺少一組圍繞(dropText=="-Select-") && (dropvalue.disabled=false)括號包裝的,你與

dropvalue.disabled=false 

設置一個值,而不是比較它應該是

dropvalue.disabled==false 

並經Guffa,valid==false;指出應該是valid=false;

+1

另外,'valid == false;'應該是'valid = false;'。 (只是太小而不能成爲答案本身。) – Guffa 2012-07-11 15:19:03

+0

@Guffa - 良好的捕獲。答案已更新。 – j08691 2012-07-11 15:23:07

+0

看起來像以前的開發者在另一個地方使用相同的ID。謝謝你的額外眼睛傢伙! – LinksTune 2012-07-11 15:46:53

相關問題