我有使用for循环创建的多个表单,并且我将所有表单和字段的唯一字段ID传递给javascript方法,但它不是使用id读取值。
发送id的任何其他方式,以便我可以在javascript中获取精确的字段值以进行ajax处理。任何帮助都会非常明显。
<%
String js = "Id" + count;
%>
<input name='Id' label="" id='Id<%=count%>' style="width:100px;" onChange="javascript:getName('<%=js %>')" />
function getName(count) {
String field = count;
var field1 = document.getElementById(field).value;
alert(field1);
}
field1
显示null
答案 0 :(得分:1)
首先,以下代码String field = count;
不正确您需要将String
替换为var
,因为这是JavaScript变量声明的工作方式,但无论如何您可以摆脱这一行。
你的JS将是:
function getName(count) {
var field1 = document.getElementById(count).value;
alert(field1);
}
<强>优化强>
请注意,您可以直接在JSP中传递id
:
<input name='Id' label="" id='Id<%=count%>' style="width:100px;" onChange="javascript:getName(this.value)" />
在你的JS中:
function getName(count) {
alert(count);
}
答案 1 :(得分:0)
你需要这样做
function getName(count) {
// String field = count;
var field = count;
var field1 = document.getElementById(field).value;
alert(field1);
}
Javascript支持使用var关键字而非String来创建变量。
答案 2 :(得分:0)
您可以使用
onChange="javascript:getName(this)"
并在javascript中
function getName(ref) {
var id= ref.id;
alert(id);
}