Primero JavaScript, y después PHP

devision

Hola.

Bueno hace poco pregunté por los formularios... ahora, mi duda va un poco más allá.
He conseguido scarme las castañas del fuego, y mirándo por internet y lo poco que me acordaba del FP que hice hace algunos años... decidí validar los formularios con Javascript.

El tema es que, si uso sólo javascript para validar, me va genial... pero luego viene el tema de que "necesito enviar el formulario", y para ello, utilizo el PHP.

Entonces, me gustaría que primero leyese el cógido JavaScript y despues el javascript.. algo así como: action="form.js, form.php" (Que lea primero el js y despues de validarlo todo, haga el php)

¿Hay alguna forma de hacerlo? o almenos, decirle que lea primero el JS, y despues, en el JS, darle una instrucción que sea "ahora ve al form.php"

Gracias

HoTiTo

No hace falta que en el action vayas a un form.js. Puedes analizar el formulario con el código js in situ, desde esa misma página. Y si todo va bien, el action redirecciona a un form.php.

ZaO

Es como dice hotito, creas un boton para enviar el formulario y le pones onSubmit = 'validar()' , validar es la funcion js que valida los campos del formulario.

Crawler

@ #3

Es como dice hotito, creas un boton para enviar el formulario y le pones onSubmit = 'validar()' , validar es la funcion js que valida los campos del formulario.

Error bastante común y bastante grande: onSubmit = 'validar()' sin javascript no funciona, resultado: no se envia el formulario.

En el action le pones como destino el .php correspondiente (o asp, o lo que sea)
y luego por javascript es cuando fuerzas a que valide antes de ejecutar ese action.

Asi si tengo javascript, valido en el cliente, si no, envio el formulario que ya lo validaré en el lado del servidor.

devision

Yo es que ya...

form.html

spoiler



post.php (éste código es el que me dieron en el otro post, que hasta ahroa me ha funcionado muy bien)

spoiler



¿Qué hay mal para que vaya al post.php directamente y envie el formulario sin comprobarlo el java?

Yandr0s

Solucion 1:

En form, pones onsubmit='return Validar()' sin el return no funciona ( si validar devuelve false no se hace submit, en caso contrario si)

Solcuion 2:

cambias el boton submit por un boton normal, y en onclick, cuando haga la validacion le pones document.forms[0].submit();

creo que cualquiera de esas 2 deberia funcionar...

NeB1

#5 es lo típico, que el botón submit envía el formulario si o sí, a no ser que hagas esto:

onclick="comprobar(); return (false);"

el return false evita q se envie el formulario por la acción del submit

Dod-Evers

u onclick="return validar()"

Usuarios habituales

  • Dod-Evers
  • NeB1
  • Yandr0s
  • devision
  • Crawler
  • ZaO
  • HoTiTo