使用f:Ajax标记时,Ajax在internetexplorer中无法正常工作
我有以下代码,当选择单选按钮时,将执行Ajax:使用f:Ajax标记时,Ajax在internetexplorer中无法正常工作,ajax,internet-explorer,Ajax,Internet Explorer,我有以下代码,当选择单选按钮时,将执行Ajax: <f:ajax event="change" listener="#{beanName.endDateChange}" render="endDate dateHdr" onevent="changeEndDateBox(this)"/> 该代码在其他浏览器中运行良好,但在IE中,当我选择单选按钮时,除非单击其他地方,否则不会发生任何事情 我见过许多Ajax解决方案在IE中不起作用
<f:ajax event="change"
listener="#{beanName.endDateChange}"
render="endDate dateHdr"
onevent="changeEndDateBox(this)"/>
该代码在其他浏览器中运行良好,但在IE中,当我选择单选按钮时,除非单击其他地方,否则不会发生任何事情
我见过许多Ajax解决方案在IE中不起作用,比如设置cache=false,但我不确定如何将其转换为xhtml文件中的Ajax代码(我尝试过使用immediate=“true”,但没有成功)。您可以尝试,并将JQuery更改事件附加到单选按钮。然后,调用ajax方法并执行以下操作:
<input class="rdo" type="radio" value="AA" /> AA<br />
<input class="rdo" type="radio" value="BB" />BB
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$(function () {
$(".rdo").each(function (index, item) {
$(item).change(function () {
alert($(this).val());
//ajax code, do something.
})
})
});
</script>
AA
BB
$(函数(){
$(“.rdo”)。每个(函数(索引,项){
$(项目).更改(功能(){
警报($(this.val());
//ajax代码,做点什么。
})
})
});
是的,这是IE中的一个已知问题。这种情况已经存在很长一段时间了。直到输入失去焦点,更改才会触发。js/html实现有一些变通方法,但我不知道使用f:ajax
时会发生什么。