我的标签p:commandLink在IE8之上不起作用(在IE8中正常工作)。
我的xhtml是这样的:
<h:head>
<script type="text/javascript">
function show_confirm() {
//<![CDATA[
var conf = confirm('Are you sure you want to delete?');
if (conf == true) {
document.getElementById("scheduleManagerForm:delrow").click();
}
//]]>
}
function run_the_Job_Confirmation() {
//<![CDATA[
var conf = confirm('Are you sure you want to run it now?');
if (conf == true) {
document.getElementById("scheduleManagerForm:runrow").click();
}
//]]>
}
</script>
</h:head>
<body>
<h:form>
<p:dataTable id="jobSchedules" var="js" value="#{SJBean.listOfJobScheduleDTO}"
selectionMode="single" selection="#{SJBean.selectedJobSchedule}"
rowSelectListener="#{SJBean.onRowSelect}"
rowEditListener="#{SJBean.rowEdit}" onRowEditUpdate="jobSchedules msgs">
<p:column style="width:150px;" headerText="Edit">
<p:rowEditor update="scheduleManagerForm:jobListPanel" oncomplete="location.reload()"/>
<p:commandLink styleClass="ui-icon ui-icon-trash" onclick="show_confirm();">
<f:setPropertyActionListener target="#{SJBean.selectedJobSchedule}" value="#{js}" />
</p:commandLink>
<p:commandLink styleClass="ui-icon ui-icon-play" onclick="run_the_Job_Confirmation();"></p:commandLink>
</p:column>
</p:dataTable>
<h:commandButton id="delrow" value="ok" style="visibility:hidden;">
<f:ajax listener="#{SJBean.deleteRow}" render="msgs jobSchedules"></f:ajax>
</h:commandButton>
<h:commandButton id="runrow" value="ok" style="visibility:hidden;">
<f:ajax listener="#{SJBean.runTheJob}" render="msgs"></f:ajax>
</h:commandButton>
</h:form>
</body>
当用户点击删除图标并且未触发show_confirm()时(通过在Firefox中放置调试点来检查)。
相同的代码在IE 8中完美执行。 我正在使用Primefaces 2.2作为应用程序的组成部分。
答案 0 :(得分:0)
我的javascript中有一个隐形字符。它在我的文本编辑器(Eclipse中的那个)中是不可见的,但是当我在记事本中打开时,我能够看到它。 那是禁止它执行javascript。删除它,现在一切正常。