将字段的id作为javascript函数的变量传递时出错

时间:2017-03-23 08:42:01

标签: javascript java jquery ajax

我有使用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

3 个答案:

答案 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);
  }