Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将字段id作为javascript函数的变量传递时出错_Javascript_Java_Jquery_Ajax - Fatal编程技术网

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

将字段id作为javascript函数的变量传递时出错,javascript,java,jquery,ajax,Javascript,Java,Jquery,Ajax,我使用for循环创建了多个表单,并将所有表单和字段的唯一字段Id传递给javascript方法,但它不会使用Id读取值 任何其他发送id的方法,以便我可以在javascript中获得用于ajax处理的确切字段值。任何帮助都是值得感激的 函数getName(计数){ 字符串字段=计数; var field1=document.getElementById(field).value; 警报(现场1); } 鉴于field1显示null您需要这样做 function getName(count)

我使用for循环创建了多个表单,并将所有表单和字段的唯一字段Id传递给javascript方法,但它不会使用Id读取值

任何其他发送id的方法,以便我可以在javascript中获得用于ajax处理的确切字段值。任何帮助都是值得感激的


函数getName(计数){
字符串字段=计数;
var field1=document.getElementById(field).value;
警报(现场1);
}

鉴于
field1
显示
null

您需要这样做

function getName(count) {
 // String field = count;
 var field = count;
 var field1 = document.getElementById(field).value;
 alert(field1);
 }

Javascript支持使用var关键字而不是字符串来创建变量。

首先,下面的代码
String field=count
不正确您需要用
var
替换
String
,因为这是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)" />
你可以用

 onChange="javascript:getName(this)"
和javascript

function getName(ref) {
    var id= ref.id;
    alert(id);
  }

试试
document.getElementById('Id'+字段)。value
第二个代码块是Java还是JS?如果它是JS,那么
String
将给你一个语法错误。第二个代码块是javascript。在这种情况下,将
String
更改为
var
,你的代码就会工作。现在它给你一个错误,不能在浏览器控制台中读取null值。当我将字符串改为var时。虽然这个代码片段可以解决这个问题,但它确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满你的代码,这会降低代码和解释的可读性!通过警报(字段)检查“Uncaught TypeError:无法读取null的属性'value'”您是否获得了字段的正确id?@Sahil
alert(field)
无法到达此处,因为错误是在此行之前抛出的。@chsdk我的意思是在此行之前`var field1=document.getElementById(field).value`this.value将给出文本框的值,然后您将尝试使用该值作为id来查找元素。它完全是wrong@Sahil这就是OP最初试图做的。不,这不是错误的代码,它只是包含无用的代码行,但是它是正确的,只是有一个附加步骤。@sahil你可以在编辑修订版中检查它,你会看到它是corerct,不要这么粗鲁,公平竞争。请看这里你最近的代码:
,你的JS将是:
函数getName(count){//这里您做错了,您实际获取了与Id字符串相关的字段的值,然后在DOM var field1=document.getElementById(count).value;alert(field1);}
function getName(ref) {
    var id= ref.id;
    alert(id);
  }