Estoy trabajando en una aplicación web ASP.net.
Tengo un formulario con un botón de envío. El código del botón de enviar se parece a <input type='submit' value='submit request' onclick='btnClick();'>.
Quiero escribir algo como lo siguiente:
function btnClick() {
    if (!validData())
        cancelFormSubmission();
}
¿Cómo hago esto?
                    
                        javascript
                                html
                                forms
                                html-input
                                
                    
                    
                        Río vivian
fuente
                
                fuente

submitentradas diferentes . Creo que intentaré usar los controles del lado del servidor en esta página.Respuestas:
Es mejor que hagas ...
Si
isValidForm()regresafalse, entonces su formulario no se envía.Probablemente también debería mover su controlador de eventos desde en línea.
fuente
onsubmita trabajar cuando uso ASP.net porque asp.net envuelve TODO en su propia forma ...Cambie su entrada a esto:
Y devuelve falso en tu función
fuente
Necesitas cambiar
a
y
a
Dicho esto, trataría de evitar los atributos de evento intrínsecos a favor de JS discreto con una biblioteca (como YUI o jQuery) que tenga una buena API de manejo de eventos y se vincule con el evento que realmente importa (es decir, el evento de envío del formulario en su lugar del evento de clic del botón).
fuente
A veces
onsubmitno funcionaría con asp.net.Lo resolví de manera muy fácil.
si tenemos tal forma
Ahora puede obtener ese evento antes de la devolución del formulario y detener la devolución y hacer todo el ajax que desee con este jquery.
fuente
debe cambiar el tipo de
submitabutton:en vez de
luego obtiene el nombre de su botón en javascript y asocia la acción que desee
funcionó para mí espero que ayude.
fuente
Necesitas
return false;:fuente
¿Por qué no cambiar el botón de enviar por un botón normal y, en el evento de clic, enviar su formulario si pasa las pruebas de validación?
p.ej
fuente
Necesitas
onSubmit. De loonClickcontrario, alguien puede simplemente presionar enter y omitirá su validación. En cuanto a cancelar. debe devolver falso. Aquí está el código:Editar onSubmit pertenece a la etiqueta de formulario.
fuente
Es simple, solo devuelve falso;
El siguiente código va dentro del clic del botón enviar usando jquery.
fuente
utilizar
onclick='return btnClick();'y
fuente
fuente
ev.preventDefault()oev.returnValue = falsecancelar el comportamiento predeterminado pero no evitar la propagación de eventos, en caso de que otros controles observen el mismo evento en el mismo elemento. Úseloreturn falsesolo cuando desee detener la propagación del evento y cancelar la acción predeterminada. Vea este artículo .fuente
Con JQuery es aún más simple: funciona en Asp.Net MVC y Asp.Core
fuente