0

这是我的代码

<input type="radio" id="allIB"style="vertical-align:middle;height:10px;width:15px;top:10px;" name="selMethodCode" value="" onClick="selInterface(this.id);enableSave1(this.id)">

<input type="radio" id="allOB" style="vertical-align:middle;height:10px;width:15px;top:10px;" name="selMethodCode" value="" onClick="selInterface(this.id);enableSave1(this.id)">

function enableSave1(id)
{
 abc=id;
 if(document.getElementById('abc').checked)
 {
  alert('done');
 }
}

这不能正常工作并引发错误(需要对象......)

4

8 回答 8

1

删除 getElementById 中 "abc" 周围的单引号 (')

于 2013-09-13T11:27:55.300 回答
1

您可以将 id 参数直接传递给 getElementById() 函数或不使用 getElementById:

<input type="radio" id="allIB" name="selMethodCode" value="" onClick="selInterface(this);enableSave1(this)">

function selInterface(radio){
if(radio.checked){
alert("done"+radio.id)
}
于 2013-09-13T11:35:06.690 回答
0

if(document.getElementById(id).checked)

将是这样的.. 以前它正在搜索一个 id=='abc' 的元素。您可以直接在代码中使用传递的参数。为什么你需要将它分配给一个变量?

于 2013-09-13T11:36:07.267 回答
0
function enableSave1(id)
{
 if(document.getElementById(id).checked)
 {
  alert('done');
 }
}
于 2013-09-13T11:29:06.977 回答
0

改变这个

if(document.getElementById('abc').checked)if(document.getElementById(abc).checked)

于 2013-09-13T11:29:17.047 回答
0
abc=id;

这里声明一个变量 abc,其值与 id 参数相同。

if(document.getElementById('abc').checked)

在这里,您查找 id 为“abc”的 DOM 节点,而不是 abc 变量的值。

于 2013-09-13T11:30:13.770 回答
0

您正在做的是要求getelementbyid('abc')在您的页面中查找 ID 为“abc”的元素。相反,您想引用您的 abc 变量,因此您需要删除 getelementbyid 部分中的引号

getElementById(abc);

于 2013-09-13T11:30:31.517 回答
0

你的变量名document.getElementById('abc').checked不能有''. 因此,将您的功能更改为:

function enableSave1(id)
{
 abc=id;
 if(document.getElementById(abc).checked)
 {
  alert('done');
 }
}

此外,您应该onClickselInterface(this.id);enableSave1(this.id);

于 2013-09-13T11:35:15.763 回答