如何使用javascript启用动态文本框onclick?

时间:2014-06-05 01:57:31

标签: javascript

我有使用数据库字段创建的文本框和旁边的编辑链接的“E”。最初,文本字段被禁用。如果用户想要修改DB中的值,他们将单击该链接,并启用它旁边的文本框。问题是它正在修改相同代码编号的第一个文本框。这可能是因为文本字段上的id属性是相同的,我想正确识别文本但失败了。 这是我的代码

<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

1 个答案:

答案 0 :(得分: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。我在本地创建了一个测试页面并且工作正常。