我在提交表单时遇到问题,该表单包含普通表单和jQuery提交按钮.
这是我的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提交按钮仅将键入文本字段的用户名添加到ArrayList中,并使用id =“ assignCollaborators”列出div中所有已保存的用户,并且效果很好.
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错误.什么会导致这种奇怪的行为?为什么当普通的Struts2 s:submit不能正常工作时,jQuery提交工作正常?
我确保已定义所有必需的操作和属性字段.
编辑:
创建简单的提交JavaScript函数并将其toonclick`事件分配给最后一个提交后,它便可以正常工作.
function submitFunc() {
document.forms['createModReadProjectForm'].submit();
}
解决方法:
似乎是struts2-jquery-plugin中的错误:http://code.google.com/p/struts2-jquery/issues/detail?id=931.
它应与该插件的3.3.3版本一起使用.