<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";
任何帮助将不胜感激!
答案 0 :(得分:2)
那里有几个问题:
您的元素根本没有id
您的代码正在成为The Horror of Implicit Globals 的牺牲品(这是我贫血的小博客上的帖子)。
这是一个固定版本:
function f(name)
{
console.log(name);
var expr=/ /gi;
var value = document.querySelector('[name="' + name + '"]').value;
value = value.replace(expr, "");
//remaining code
}
使用querySelector
和选择name
的属性选择器修复了#1
通过在f
#2
你也可以通过给你的元素id
并坚持使用getElementById
来修复#1。
答案 1 :(得分:0)
您尝试访问的输入未定义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]."\">