2012-05-19 176 views
2

有一段時間沒有出現過。有一個熱門的項目,我正在努力,我似乎​​無法弄清楚如何禁用輸入文本字段。情況是,我有一個表格被填寫,然後當它被提交,我離開它的形式,但禁用輸入字段,所以它不能改變。因此用戶可以繼續查看他們提交的內容。Javascript禁用輸入字段

<html> 
    <head> 
    <script> 
    function enableDisable() { 
     var disable = true; 
     var arglen = arguments.length; 
     var startIndex = 0; 
     var frm = document.example1; //change appropriate form name 

     if (arglen > 0){ 
      if (typeof arguments[0] == "boolean") { 
       disable = arguments[0]; 
       if (arglen > 1) { 
        startIndex = 1; 
       } 
      } 
      for (var i = startIndex; i < arglen; i++) { 
       obj = eval("frm." + arguments[i]); 
       if (typeof obj=="object") { 
        if (document.layers) { 
         if (disable) { 
          obj.onfocus = new Function("this.blur()"); 
          if (obj.type == "text") { 
           obj.onchange = new Function("this.value=this.defaultValue"); 
          } 
         } 
         else { 
          obj.onfocus = new Function("return"); 
          if (obj.type == "text") { 
           obj.onchange = new Function("return"); 
          } 
         } 
        } 
        else { 
         obj.disabled=disable; 
        } 
       } 
      } 
     } 
    } 
    </script> 
    </head> 
    <body> 
     <form name="example1"> 
      Text Field: <input type="text" name="text1"> 
      <br> 
      <input type="submit" name="control1" onclick="enableDisable(this.submit, 'text1', 'submit', 'select1')"> 
     </form> 
    </body> 
</html> 
+1

這是不是你想要的代碼?你可以修剪它嗎?另外,請不要使用'new Function(string)'來構建函數。使用函數文字:'obj.onchange = function(){return; }' –

+0

請格式化您的代碼。當你在你的問題中粘貼一堆代碼時,它會讓你看起來像你不在乎。 –

回答

3

我想你想讓文本字段成爲只讀字段。

已禁用文本字段只讀文本字段之間存在差異。

READONLY和DISABLED都刪除輸入字段的功能,但程度不同。 READONLY鎖定該字段:用戶不能更改該值。 DISABLED做同樣的事情,但需要進一步:用戶不能以任何方式使用該字段,不要突出顯示要複製的文本,不要選中複選框,不要提交表單。事實上,如果表單被提交,甚至不會發送禁用的字段。

所以你應該看看這個帖子,以獲取更多相關信息。 http://www.htmlcodetutorial.com/forms/_INPUT_DISABLED.html