javascript
2014-06-05 28 views 0 likes 
0

我有用DB字段創建的文本框和編輯鏈接旁邊的「E」。最初文本字段被禁用。如果用戶想要修改數據庫中的值,他們將點擊該鏈接並啓用其旁邊的文本框。問題是它正在修改相同代碼號的第一個文本框。這可能是因爲文本字段上的id屬性相同,我想正確識別文本但失敗。 這裏是我的代碼如何使用JavaScript啓用動態文本框onclick?

<input type="text" name="form_line[code]" size="10" 
    value='<?php echo bucks($tmp['adj_amount']); ?>' disabled="true" id="editable"/> 

<a id="myedit" title="Click to Edit Adjustment Value" href="#" onclick="edit_adj();return false;">E</a> 

<script type="text/javascript"> 
function edit_adj() { 
     document.getElementById("editable").disabled = false; 
} 
</script> 

輸出的例子如下圖所示,如果我點擊「E」的第一個文本框被啓用:( enter image description here

+2

我是否正在閱讀你的問題,你的頁面有重複ID?不支持HTML頁面中的重複ID。每個ID應該是唯一的。 – richb01

+0

但我已閱讀,你不能把ID = ID [X],從而創建它動態的,我不知道該怎麼更換。 – user2031297

+0

你已經禁用它,那麼你將如何點擊它? – jhyap

回答

1

我認爲這會爲你工作:

<?php 
for ($x=0; $x<=10; $x++) { 
?> 
<input type="text" name="somename" size="10" 
    value='<?php echo "hello" ?>' disabled="true" id="editable<?php echo $x ?>"/> 

<a id="myedit" title="Click to Edit Adjustment Value" href="#" onclick="edit_adj(<?php echo $x ?>);return false;">Edit</a> 
<br/> 
<?php 
} 
?> 

<script type="text/javascript"> 
    function edit_adj(id) { 
    document.getElementById("editable"+id).disabled = false; 
} 
</script> 

希望這會有所幫助! 從本質上講,這是給每個文本字段一個唯一的id,並將id傳入javascript,使問題的文本字段。我創建了一個測試頁locall Ÿ它的工作。

+0

非常感謝你這樣做!我不知道你可以這樣做,而且很聰明:) – user2031297

+0

我很高興它的工作!你介意接受它作爲答案嗎? :-) – richb01

相關問題