【发布时间】:2016-07-05 15:32:32
【问题描述】:
在此网页中,我正在动态生成多个文本框,每个文本框都旨在保存唯一值,我想动态获取该值。但我无法根据文本框的位置捕获其值。此代码仅适用于第一个生成的文本框。我有这样的代码
<tr>
<td align="center"><input type="text" name="serialNoArray[]" id="serialArray" onChange="checkusername()" ><span id="std_id_status"></span></td>
</tr>
<script>
function checkusername() {
var s = _("serialArray").value;
if(s != "") {
_("std_id_status").innerHTML = 'checking ...';
var ajax = ajaxObj("POST", "sellingDetails.php");
ajax.onreadystatechange = function() {
if(ajaxReturn(ajax) == true){
_("std_id_status").innerHTML = ajax.responseText;
}
}
ajax.send("std_id_check="+s);
}
}
</script>
【问题讨论】:
-
您是通过 JS 还是 PHP 动态添加它们?如果 JS,现有的 JavaScript 将不知道新添加的 DOM 元素。您将不得不使用事件委托将事件冒泡到 DOM 中的某个点,当 JS 在页面加载时运行时该点就在那里。
-
duplicate
ids 是非法的 html,您无能为力。 getElementById 只会返回一个元素。您需要将 ID 更改为每个 ID 都是唯一的。 -
那么我应该如何将具有动态 ID 的值发送到 'checkusername()' 函数,以便可以将其存储在该变量 's' 中?
标签: javascript php html ajax