我在提交表单时遇到问题,该表单包含普通按钮和 jQuery submit
按钮。
这是我的 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
并在 div
中列出所有已保存的用户 id="assignCollaborators”
,这工作正常。
呈现的 jQuery 提交
:
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 错误。什么会导致这种奇怪的行为?为什么 jQuery submit
工作正常,而普通的 Struts2 s:submit
不行?
我保证定义了所有需要的操作和属性字段。
编辑:
当我创建简单的提交 JavaScript函数并将它的 to
onclick` 事件分配给最后一次提交时,它可以正常工作。
function submitFunc() {
document.forms['createModReadProjectForm'].submit();
}
最佳答案
似乎是 struts2-jquery-plugin 中的错误:http://code.google.com/p/struts2-jquery/issues/detail?id=931 .
它应该适用于该插件的 3.3.3 版。
关于javascript - jQuery 和默认的 struts 2 以一种形式提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18944973/