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
submit
entradas 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
onsubmit
a 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
onsubmit
no 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
submit
abutton
: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 loonClick
contrario, 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 = false
cancelar 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 false
solo 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