He creado un formulario modal jQuery UI, y quiero que ese formulario active una devolución de datos, pero estoy teniendo dificultades para hacerlo funcionar.jQuery formulario modal diálogo devolución de mensaje
Sé que hay bastantes artículos basados en el uso del complemento SimpleModal, y he intentado adaptarlos y anular la función _doPostback, pero sin alegría.
Creo que el problema está dentro de la llamada a mi función __doPostBack y cuáles son los parámetros deben ser. Es ese el caso?
Aquí es mi forma
<form id="summaryForm" runat="server">
<div id="dialog" title="Quick Booking">
<p>Select user from list or enter name in box</p>
<fieldset>
<p><label>Is machine going out of the office?</label></p>
<asp:RadioButton TextAlign="Left" GroupName="outOfOffice" Text="Yes" ID="optYes" class="radio" runat="server" />
<asp:RadioButton TextAlign="Left" GroupName="outOfOffice" Text="No" ID="optNo" class="radio" runat="server" Checked="true" />
<label for="dropLstUser">User:</label>
<asp:DropDownList ID="dropLstUser" runat="server" />
<input type="text" name="txtUser" id="txtUser" value="" class="text" />
<label for="txtStartDate">Start Date:</label>
<input type="text" id="txtStartDate" name="txtStartDate" class="datepicker" />
<asp:HiddenField ID="assetField" runat="server" />
<%--<button onclick="performPostBack('summaryForm')">Postback</button>--%>
</fieldset>
</div>
//--------------------------------
Este es el código JavaScript:
<script type="text/javascript">
$(function() {
$("#dialog").dialog({
bgiframe: true,
height: 300,
modal: true,
buttons: {
'Close': function() {
alert("closing");
$(this).dialog("close");
__doPostBack = newDoPostBack;
__doPostBack("aspnetForm",null);
}
}
});
});
function newDoPostBack(eventTarget, eventArgument)
{
alert("postingback");
var theForm = document.forms[0];
if (!theForm)
{
theForm = document.aspnetForm;
}
if (!theForm.onsubmit || (theForm.onsubmit() != false))
{
document.getElementById("__EVENTTARGET").value = eventTarget;
document.getElementById("__EVENTARGUMENT").value = eventArgument;
theForm.submit();
}
}
</script>
la razón por la que establecer el ID de aspnetForm era porque he intentado usar el verdadero nombre de formulario - summaryForm y mi Firebug JavaScript depurador dijo __EVENTTARGET era nula. Examiné la fuente y me di cuenta de que asp.net cambia la id del cliente a aspnetForm - aún __EVENTTARGET es nulo ......... – mancmanomyst
es el control que causa la devolución del formulario o el botón? En este caso, es un cuadro de diálogo modal por lo que no hay botón de envío.Intenté agregar mi propio botón de envío en lugar de anular uno de los botones generados por jquery, pero tampoco funcionó. – mancmanomyst