我写了一个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/