Cambie el formulario DNN a un formulario GET normal

Estoy trabajando para hacer algunos cambios en un sitio web de Dot Net Nuke con una máscara personalizada. Descubrí que el encabezado del archivo de máscaras estaba ubicado en 'Default.aspx' aquí.

El formulario tiene un comportamiento muy extraño. Tuve que deshabilitar el botón Intro porque al presionar dentro del formulario, la página web va a "/HOME.aspx", sin embargo, esa acción nunca se especifica dentro de Default.aspx.

El código es el siguiente.

    <dnn:Form id="Form" runat="server" ENCTYPE="multipart/form-data" >
    <asp:Label ID="SkinError" runat="server" CssClass="NormalRed" Visible="False"></asp:Label>
    <asp:PlaceHolder ID="SkinPlaceHolder" runat="server" />
    <input id="ScrollTop" runat="server" name="ScrollTop" type="hidden" />
    <input id="__dnnVariable" runat="server" name="__dnnVariable" type="hidden" />
</dnn:Form>

El formulario después de ser procesado se muestra en el navegador como.

<form name="Form" method="post" action="/es/HOME.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="Form" enctype="multipart/form-data">

Lo que quiero que muestre el código es simplemente.

<form name="Form" method="get" action="/es/SearchResults.aspx"  id="Form">

Intenté eliminar el código dnn con el html directamente, pero eliminar el formulario dnn hace que el sitio web se bloquee.


EDITAR

Lo que estoy tratando de hacer se puede ver en http://www.ontariosheep.org Observe que si presiona el botón, la búsqueda funciona, pero al presionar Intro, la página se actualiza.

preguntado el 03 de mayo de 12 a las 14:05

2 Respuestas

Puedes usar algo de Javascript para hacer esto:

jQuery('#SearchBox').keypress(function(e){
   if(e.which == 13){
       e.preventDefault();CallSearchPage('http://www.ontariosheep.org/SearchResults.aspx');
   }
});

Debería poner eso en etiquetas de script y también en un área preparada para documentos jQuery ... como

<script> jQuery(document).ready(function(){

//code above here

}); </script>

contestado el 28 de mayo de 12 a las 16:05

Página web actualizada con el código, todavía está activa ahora. Intenté tal como está escrito y también intenté cambiar #SearchBox por #Form. No tiene efecto. - felipe kirkbride

PhillipK, tuve un error tipográfico en el código anterior. En su código en su página if(e.which == 13 necesita a ) después de eso. Debería ser #SearchBox al que se dirige el ID del elemento SearchBox: ryan fatalidad

Cambiar el comportamiento del formulario en DNN no es algo que vaya a hacer fácilmente. DNN usa el modelo de formularios web de ASP.NET, por lo que la acción para la página es siempre la página actual.

Si desea personalizar esto, la única forma real es modificar la acción del formulario a través de JavaScript en una página específica, pero tenga en cuenta que hacerlo antes de hacer clic en un botón o un disparador similar interrumpirá todas las funciones de administración en la página que requieren una devolución de datos al servidor.

¿Qué está tratando de lograr?

contestado el 03 de mayo de 12 a las 22:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.