我有以下代码,saveBt,当用户选择取消确认时不应该提交但是它似乎仍然提交因为我有onClickTopics,我需要这个onclicktopics来重新加载一个struts jquery网格。任何解决方法?
$("#saveBt").click(function(event){
event.preventDefault();
if($('#Form').valid()){
if (confirm("Are you sure ?")) {
return true;
} else {
return false;
}
}
});
<sj:a id="saveBt" onClickTopics="reloadGrid" name="saveChannel" value="saveChannel">Save</sj:a>
更新:需要onClicks通过以下方式重新加载网格:
<sj:a id="saveBt" onClickTopics="reloadGrid" name="save" value="save">Save</sj:a>
<sjg:grid id="gridTable" reloadTopics="reloadGrid" resizable="true"
autowidth="true">
答案 0 :(得分:0)
试试这个,委托方法。
$(document).on('click','#saveBt', function(event){
event.preventDefault();
if($('#Form').valid()){
if (confirm("Are you sure ?")) {
return true;
} else {
return false;
}
}
})
答案 1 :(得分:0)
点击事件触发后重新加载网格。这是绑定方法内部。然后在重新加载网格后调用event.preventDefault。
关键是不要在网格重新加载后冒泡。如果这就是你的意思。
答案 2 :(得分:0)
结束于:
function validator() {
if (confirm("Are you sure you want to save?")) {
$("#Form").submit();
$("#refresh_gridTable").click();
}
}
<sj:a id="saveBt" onclick="return validator();">Save</sj:a>
Struts jquery Grid通过设置创建一个刷新按钮:navigatorRefresh="true"
只需在提交后点击它。