在 Struts2 中提交对话框表单
Submit dialog form in Struts2
我正在学习 Struts2/Hibernate/Jquery,但我无法提交对话表单以将来自 jsp 的 "alumno" 对象(alumno.nombre 等)发送给操作。 addUser() 方法只验证表单字段。我试图复制通常 <s:form>
的相同行为,以便调用方法 "guardar" 并将校友对象保存在数据库中。
Jquery JSP:
dialog = $( "#dialog-form" ).dialog({
autoOpen: false,
height: 400,
width: 350,
modal: true,
buttons: {
"Guardar": addUser,
"Cerrar": function() {
dialog.dialog( "close" );
}
},
close: function() {
form[ 0 ].reset();
allFields.removeClass( "ui-state-error" );
}
});
// Se ejecuta cuando ya se ha creado/editado un alumno
form = dialog.find( "form" ).on( "submit", function( event ) {
event.preventDefault();
addUser();
alert("form");
});
$( "#create-user" ).button().on( "click", function() {
event.preventDefault();
dialog.dialog( "open" );
});
JSP
<div id="dialog-form" title="Crear nuevo alumno">
<p class="validateTips">Todos los campos del formulario son obligatorios.</p>
<s:form id="formularioAlumnos" action="guardarAdminAlumno">
<fieldset>
<label for="nombre">Nombre</label>
<input type="text" name="alumno.nombre" id="nombre">
<label for="apellidos">Apellidos</label>
<input type="text" name="alumno.apellidos" id="apellidos">
<!-- Allow form submission with keyboard without duplicating the dialog button -->
<s:submit id="entrar" ctabindex="-1" style="position:absolute; top:-1000px"/>
</fieldset>
struts.xml
<action name="*AdminAlumno" method="{1}" class="AdminGestAlumActionBean">
<result name="success" type="redirect">gestionAlumnos</result>
</action>
最终比我想象的要容易,因为调用提交按钮 ($("#entrar").click();
) 的点击事件完成了这件事。
发生这种情况是因为我还不了解 jquery 和 ajax 的工作原理以及目的。
我正在学习 Struts2/Hibernate/Jquery,但我无法提交对话表单以将来自 jsp 的 "alumno" 对象(alumno.nombre 等)发送给操作。 addUser() 方法只验证表单字段。我试图复制通常 <s:form>
的相同行为,以便调用方法 "guardar" 并将校友对象保存在数据库中。
Jquery JSP:
dialog = $( "#dialog-form" ).dialog({
autoOpen: false,
height: 400,
width: 350,
modal: true,
buttons: {
"Guardar": addUser,
"Cerrar": function() {
dialog.dialog( "close" );
}
},
close: function() {
form[ 0 ].reset();
allFields.removeClass( "ui-state-error" );
}
});
// Se ejecuta cuando ya se ha creado/editado un alumno
form = dialog.find( "form" ).on( "submit", function( event ) {
event.preventDefault();
addUser();
alert("form");
});
$( "#create-user" ).button().on( "click", function() {
event.preventDefault();
dialog.dialog( "open" );
});
JSP
<div id="dialog-form" title="Crear nuevo alumno">
<p class="validateTips">Todos los campos del formulario son obligatorios.</p>
<s:form id="formularioAlumnos" action="guardarAdminAlumno">
<fieldset>
<label for="nombre">Nombre</label>
<input type="text" name="alumno.nombre" id="nombre">
<label for="apellidos">Apellidos</label>
<input type="text" name="alumno.apellidos" id="apellidos">
<!-- Allow form submission with keyboard without duplicating the dialog button -->
<s:submit id="entrar" ctabindex="-1" style="position:absolute; top:-1000px"/>
</fieldset>
struts.xml
<action name="*AdminAlumno" method="{1}" class="AdminGestAlumActionBean">
<result name="success" type="redirect">gestionAlumnos</result>
</action>
最终比我想象的要容易,因为调用提交按钮 ($("#entrar").click();
) 的点击事件完成了这件事。
发生这种情况是因为我还不了解 jquery 和 ajax 的工作原理以及目的。