如何防止在onclicktopics上提交

时间:2014-03-17 03:39:52

标签: javascript jquery struts2 struts struts2-jquery

我有以下代码,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">

3 个答案:

答案 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"只需在提交后点击它。