获取复选框值/名称显示空或未定义的警报

时间:2012-11-01 07:37:30

标签: php javascript

这是一大堆代码......

echo "<td> 
          <input type='checkbox' value='online_$row[0]' " .                                             
          $checked[$row[$i]]. " onchange='background()'/>                                   
      </td>";

这里是非常简单的javascript代码......

function background()
{
    alert(this.value); 
}

如何使用this关键字获取该复选框的名称?

3 个答案:

答案 0 :(得分:4)

 echo "<td> 
      <input type='checkbox' value='online_$row[0]' " .                                             
      $checked[$row[$i]]. " onchange='background(this)'/>                                   
  </td>";

function background(ele)
{
alert(ele.value); 
}

答案 1 :(得分:2)

thisonclick函数内部的输入......但是该函数在没有任何上下文的情况下调用background,因此它在window内获得默认上下文,因此在该函数内{ {1}}是this

直接将window函数绑定到input元素,而不是使用background属性创建新函数。

onclick

请参阅MDN for more reading on addEventListener,包括有关浏览器兼容性的说明。

答案 2 :(得分:1)

在JS函数中,您必须传递一个对象,因此实际定义了“this”。 例如,您可以使用:

function background(elem)
{
    alert(elem.value); 
}

一旦该函数没有任何参数,就没有定义“this”,因此该函数不会作为例外运行。