javascript - IE8 JavaScript 错误

标签 javascript

我写了一个js方法,在FF上完美运行。 单击单选按钮即可调用此 js 方法。

在 IE 中,当我单击单选按钮时,仅当我单击表单上的某个位置时才会调用 js 方法。我不知道 IE 中的这种奇怪行为。

有什么想法吗?

谢谢

<小时/>

这是我的代码。

xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"

HTML 代码:

<h:selectOneRadio  id="pid" value="#{Bean.pid}" onchange="javascript:checkPid();">    
<f:selectItem itemLabel="label1" itemValue="value1"/> 
<f:selectItem itemLabel="label2" itemValue="value2" /> 
<f:selectItem itemLabel="label3" itemValue="value3" /> 
</h:selectOneRadio>

JavaScript:

<script language="javascript" type="text/javascript">

function checkPid() {
   //some basic js here
   //even if I just give an one-liner alert stmt here, In IE it 
   //shows up only when I click somewhere on the form after I click 
   //on the radio button
}

提前致谢!

最佳答案

尝试使用 onclick 事件而不是 onchange 事件。

不过,您需要修改代码:

<h:selectOneRadio  id="pid" value="#{Bean.pid}" onclick="checkPid(this);">    

还有你的 JavaScript 函数:

function checkPid(e) {
   //do stuff with e.value
}

您应该能够通过 e.value 验证用户点击的内容。这应该适用于两种浏览器。

关于javascript - IE8 JavaScript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3474536/

相关文章:

JavaScript (ECMA) 语法 - 左递归问题

javascript - 为什么我必须将 console.error 包装在 lambda 中?

javascript - Jquery 自动完成小部件 "select( event, ui )"

javascript - 在 ASP.Net 应用程序中将 C# 内联变量传递给 Javascript 函数

javascript - 更改表单帖子

javascript - 如何编写条件 block 以检查所选时间是否介于 Timepicker 当前时间的 5 小时之间

javascript - 使用 JavaScript 获取/附加属性(无 jQuery)

javascript - Fabric.js 是否可以使用不同的图像源加载 json?

javascript - 循环内 jquery .hover 函数的动态弹出窗口

javascript - X 轴标签重叠 NVD3