IE8 Javascript错误

时间:2010-08-13 06:47:37

标签: javascript

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

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

有什么想法吗?

THX


这是我的代码。

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

HTML CODE:

<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
}

提前致谢!

1 个答案:

答案 0 :(得分:1)

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

您需要修改代码:

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

   

你的javascript函数:

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

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