2012-11-30 50 views
3

我有一個默認禁用的textarea。然後按'編輯'我從用戶輸入一些輸入。如果它有效,我想啓用textarea。這裏是我現在的代碼:從鍵盤輸入後啓用/禁用textarea

<textarea name="comment" cols="5" rows="2" disabled="true"><%= $tmp_com %></textarea> 
<a href="javascript:validateUser()">Edit</a> 

function validateUser(){ 
var name=prompt("Please enter the password"); 

    if (name=="1234") 
    { 
     document.getElementByName("comment").disabled="false"; 
    } 
} 

回答

5

其更好地爲您使用ID而不是名字。任何我在這裏使用名稱來跟蹤問題。

<a href="javascript:validateUser()">Edit</a> 
<textarea name="comment" cols="5" rows="2" disabled="disabled">aaaaa</textarea> 

<script type="text/javascript"> 
    function validateUser(){ 
     var name=prompt("Please enter the password"); 
     if (name=="1234") 
     document.getElementsByName("comment")[0].disabled=false; 
    } 
</script> 
+0

我用getElementByName代替了getElementsByName ..... duh –

+0

...還有一個值爲「false」的字符串 - 最好使用true/false而不用字符串,因爲這些都是數字。 – andora

7

JavaScript中沒有getElementByName。最簡單的解決方案,添加一個id,並使用getElementById。

<textarea name="comment" id="comment" cols="5" rows="2" disabled="true"> 

和JavaScript

document.getElementById("comment").disabled="false"; 
+0

差不多。除去「false」附近的引號以使參數成爲布爾值而不是字符串,並且您將擁有它。 – Mac

5

使用jQuery

$("[name='comment']").attr('disabled', true); 
$("[name='comment']").attr('disabled', false); 

或標識

$("#comment").attr('disabled', true);