1

我在提交表单时遇到问题,其中包含普通和 jQuerysubmit按钮。

这是我的 JSP 的代码片段:

<sj:head loadAtOnce="true"/>

<s:form id="createModReadProjectForm" action="createProject" cssClass="internalForm" autocomplete="off">
    <s:token/>

    <s:textfield name="collName" cssClass="textField internal" cssErrorClass="textFieldError internal" />
    <div id="assignCollaborators">

    </div>

    <s:url action="assignCollabolator" id="assignCollaboratorUrl"/>
    <sj:submit key="labels.button.addColl" targets="assignCollaborators" 
            id="assignCollButton" formIds="createModReadProjectForm" cssClass="button small"
            href="%{assignCollaboratorUrl}"/>

    <s:submit />
</s:form>

jQuery submit按钮仅将键入的文本字段用户名添加到ArrayList并列出所有已保存的用户divid="assignCollaborators"这很好用。

渲染jQuery submit

jQuery(document).ready(function () {
     var options_assignCollButton = {};
     options_assignCollButton.jqueryaction = "button";
     options_assignCollButton.id = "assignCollButton";
     options_assignCollButton.name = "labels.button.addColl";
     options_assignCollButton.targets = "assignCollaborators";
     options_assignCollButton.href = "/CloudUML/assignCollabolator.action";
     options_assignCollButton.formids = "createModReadProjectForm";

     jQuery.struts2_jquery.bind(jQuery('#assignCollButton'),options_assignCollButton);
});

现在,当我想使用最后一个提交按钮提交表单时,什么也没有发生。没有 Java 或 JavaScript 错误。什么会导致这种奇怪的行为?为什么 jQuerysubmit工作正常,而普通的 Struts2s:submit不行?

我保证定义了所有需要的操作和属性字段。

编辑:

当我function and assign its to为最后一次提交创建了简单的提交 JavaScript onclick` 事件时,它可以正常工作。

function submitFunc() {
        document.forms['createModReadProjectForm'].submit();
    }
4

2 回答 2

1

似乎是 struts2-jquery-plugin 中的一个错误:http ://code.google.com/p/struts2-jquery/issues/detail?id=931 。

它应该适用于该插件的 3.3.3 版本。

于 2013-09-22T20:13:26.010 回答
1

这里的问题是 e.PreventDefault() 以防止在表单文本字段内按输入时正常提交。

请参阅: http ://code.google.com/p/struts2-jquery/source/browse/trunk/struts2-jquery-plugin/src/main/resources/template/js/struts2/jquery.struts2.js#947

使用普通链接而不是按钮怎么样?

于 2013-09-29T18:11:40.763 回答