0

在这里,我遇到了 Jquery Validation 插件和 Struts2 的问题。

我的表单中有 3 个如下所示的按钮。

<td><s:submit type="button" value="Save" theme="simple" cssClass="valid" /></td>
<td><s:submit type="button" value="Cancel" theme="simple" action="cancel" cssClass="cancel"/></td>
<td><s:submit type="button" value="Submit" theme="simple" cssClass="valid"/></td>

提交表单后,将使用 jquery 验证完成验证。表单提交成功后,我想要用户确认提交表单吗?

所以我使用了 Jquery Validate 函数的 submitHandler 。但是当我点击取消时,这个 submitHandler 也被执行了。我不希望单击取消按钮时发生任何事情。这是 JavaScript 部分。

$(document).ready(function() {

    $("#MyForm").validate({
    //Some validation rules
        submitHandler: function(form) {
        //this runs when the form validated successfully
        //My code after submitting the form 
            alert("Hello");
        } //End of Submit Handler
    });

});

我知道这将是一个简单的答案。尽管请帮我找到它的人

4

1 回答 1

1

根本问题是您form包含三个submit按钮。即使每个都有不同value的 ,插件也会在每个上触发相同的。

1) 将取消按钮更改为type="reset". 该插件将忽略这种类型的输入(但是,HTML 将清除表单数据)。

http://jsfiddle.net/hnyd2/

或者

2 )将取消按钮移到. form布局会有所不同,但您可以使用 CSS 更精确地放置按钮。

http://jsfiddle.net/hnyd2/1/

或者

3) 将其保留在 中,但使用 jQueryform阻止按钮的默认行为。您必须在按钮上放置一个,以便正确定位它。submitpreventDefault()id

$('#cancel').click(function(e) {
    e.preventDefault();
    // anything else to do on click
});

http://jsfiddle.net/hnyd2/3/

于 2013-04-25T16:38:30.423 回答