我在提交表单时遇到问题,其中包含普通和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 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错误。什么可以导致这种奇怪的行为?为什么jQuery submit
正常工作,而正常的Struts2 s:submit
不是?
我保证所有需要的操作和属性字段都已定义。
编辑:
当我在上次提交时创建了简单的提交JavaScript function and assign its to
onclick`事件时,它可以正常运行。
function submitFunc() {
document.forms['createModReadProjectForm'].submit();
}
答案 0 :(得分:1)
看起来像是struts2-jquery-plugin中的一个错误:http://code.google.com/p/struts2-jquery/issues/detail?id=931。
它应该适用于该插件的3.3.3版本。
答案 1 :(得分:1)
这里的问题是e.PreventDefault(),用于阻止在表单文本字段内输入正常提交。
使用普通链接而不是按钮怎么样?