我似乎遇到了一个令人沮丧的问题,似乎找不到答案。我正在尝试获取<td>
标记中元素的值。id到达函数,但由于某种原因,我无法获得它的值。
JS-
function f(id)
{
console.log(id);
expr=/ /gi;
value = document.getElementById(id).value;
value = value.replace(expr, "");
//remaining code
}
PHP
print "<td style='"height:20px;'"><input $disbled type='"text'" name='"".$values[$i][0]."'" onChange='"return f('".$values[$i][0]."')'" value='"".$values[$i][1]."'" class='"".$values[$i][2]."'"></td>'n";
任何帮助都将不胜感激!
有几个问题:
-
您的元素根本没有
id
-
您的代码正成为隐式全局的恐怖(这是我贫血的小博客上的一篇帖子)的牺牲品。
这是一个固定版本:
function f(name)
{
console.log(name);
var expr=/ /gi;
var value = document.querySelector('[name="' + name + '"]').value;
value = value.replace(expr, "");
//remaining code
}
#1通过使用CCD_ 3和通过CCD_
#2通过在f
中声明局部变量来固定
您也可以通过给元素一个id
并坚持使用getElementById
来修复#1。
您试图访问的输入没有定义ID属性。您应该添加它,以便通过getElementById()访问输入对象。
<input $disbled id='"".$id."'" type='"text'" name='"".$values[$i][0]."'" onChange='"return f('".$values[$i][0]."')'" value='"".$values[$i][1]."'" class='"".$values[$i][2]."'">