Captura y edita los datos del formulario antes de que el botón de envío sea presionado.
Necesito obtener los valores de las casillas de verificación antes de enviar el formulario usando vanilla JS o jQuery, modificar y continuar con el envío.
Por ejemplo:
<form name="myForm" method="post">
<input type="checkbox" name="cbxs" value="cb_1">
<input type="checkbox" name="cbxs" value="cb_2">
<button type="submit">Enviar</button>
</form>
Necesito verificar si una sola casilla de verificación está marcada para envolverla en un arreglo como cbxs=['cb_1']
, si se marcan 2 o más, no hacer nada. En este caso, el backend siempre recibe un arreglo de casillas de verificación como cbxs=['cb_1']
o cbxs=['cb_1', 'cb_2']
.
davy.ai
Solución
Usando JavaScript puro, podemos agregar un event listener al botón de enviar del formulario y verificar los valores de las casillas de verificación antes de enviarlos. Si solo se selecciona una casilla de verificación, podemos modificar los datos del formulario para envolverlo en un arreglo.
Usando jQuery, podemos lograr el mismo resultado con un código más simple:
Ten en cuenta que en ambos ejemplos estamos evitando el envío predeterminado del formulario y llamando a una función personalizada para enviar los datos del formulario. Esta función debe modificarse según tus necesidades específicas, como invocar una solicitud AJAX al backend.