Formulario PHP y javascript
2 seguidores
Hola, de nuevo no se si va aqui o en programacion cliente.
Tengo un formulario que valida con php.
Ahora he añadido que tambien valide por javascript al vuelo sin recargar la pagina. Si el usuario tiene javascript desactivado deberia de validar con el php solo.
Para que funcione el javascript necesito en el formulario tener input type="button" en el submit, bien lo hago asi y funciona el javascript, sin embargo el php ya no valida, si vuelvo a poner type="submit" ahora si valida el php pero el javascript ya no.
Que podrá ser????
No entiendo nada.
helenp
mambrú
Yo uso este script para ir validando los campos del formulario "en el momento". y va perfecto, luego le pasas una segunda validación con php y listo calisto.
El script tira de mootools.
Link
Pues al final me he puesto, se me pasó el cansansio,
y ya lo tengo funcionando tanto con javascript y php.
Gracias, de nuevo, creo que me he enamorado :)
es fantastico.
Pd. no de ti sino del script.
helenp
Gracias,
pero como ya lo tengo funcionando, correctamente o no,
lo voy a dejar asi, para no calentarme más.
Que estoy cansado, pero lo voy a añadir a favoritos,
que tiene buena pinta, ahora si, muy completo, demasiado para mi,
al igual más adelante tengo ganas y lo intento.
Ahora estoy intentando meter para comprobar que el email esta correctamente rellenado, pero no lo consigo.
Voy a abrir otro hilo para eso en programacion cliente
Usuario desconocido
Yo uso este script para ir validando los campos del formulario "en el momento". y va perfecto, luego le pasas una segunda validación con php y listo calisto.
El script tira de mootools.
Link
helenp
angelphp
Usa siempre submit y en el evento "onsubmit" del formulario introduce la funcion que valida con JS. Si el cliente no tiene js no le hara caso a esa funcion y te lo enviara al servidor. Si tiene JS activado ejecutara esa funcion.
Ya lo he probado,
si hago eso no ejecuta el javascript.
codigo javascript:
<code>
function validarcontacto()
{
if(document.form.name.value.length < 1)
{
document.getElementById('name3').style.display = 'inline';
document.getElementById('name2').style.border = '#FF0000 1px solid';
document.form.name.focus();
return 0;
}
else
{
document.form.submit();
}
} </code>
Usuario desconocido
Usa siempre submit y en el evento "onsubmit" del formulario introduce la funcion que valida con JS. Si el cliente no tiene js no le hara caso a esa funcion y te lo enviara al servidor. Si tiene JS activado ejecutara esa funcion.
helenp
Deck1
PHP deberia funcionar con ambos, asi que habria que revisar el script php.
La solución de tu hijo no es tan guarra, te puedes evitar el enviarform en el formulario, poniendo esto en el php:
<code>if (count($_POST) > 0){
resto del php } </code>
Gracias.
Tu solucion tambien funciona pero tengo que dejar el submit para el php en el noscript etc y esconder el boton button cuando desactivo javascript...
Es que no sé si debería de funcionar con solo type=button cuando desactivo el javascript, ya que el button no envia el formulario, sino valida con el javascript y si todo es correcto se hace el submit desde el javascript asi:
{
document.form.submit();
}
Si debería de funcionar con el php no sé donde estará el fallo, porque si cambio el type=button a type=submit el php va perfecto.
deck1
helenp
Es que el php necesita type submit y el javascript type=button.
PHP deberia funcionar con ambos, asi que habria que revisar el script php.
La solución de tu hijo no es tan guarra, te puedes evitar el enviarform en el formulario, poniendo esto en el php:
<code>if (count($_POST) > 0){
resto del php } </code>
helenp
me cachi en 10....
otra vez no se puede pegar codigo, que pasa con el forum?
parece que son los formularios que no se puede pegar.
voy a intentar editar el post anterior.
helenp
Al final mi hijo lo ha arreglado de una forma guarra, pero parece funcionar, que pensais, hay otra cosa mejor, es malo la guarreria?
Es que el php necesita type submit y el javascript type=button.
Esta es la solucion:
<code>
para empezar el php:
if ($_POST['enviarform'] == 1) {
resto del php }
en el formulario:
no se puede pegar formularios,
ver el codigo que quiero demostrar aqui:
http://www.marbellasunrentals.com/dmstk.php
</code>