necesito ayuda con un formulario jquery

B

Las validaciones en backend se deben realizar al final, haciendolas previamente en el frontend aliviamos carga en el backend. Se pueden dar dos casos:

1- Datos correctos doble validacion frontend+backend
2- Datos incorrectos validación frontend, no llega a backend
3- Datos mal formados doble validacion frontend+backend

Simplemente con el caso 2 bajamos bastante las peticiones a backend.

1 respuesta
elkaoD

#89 "Para casos mucho más complejos en los que se alcanza una dependencia de JS bastante alta, es inviable tener una versión con JS y otra sin"

Coño, eso es obvio y lo comenté casi al principio (#21). Si tu aplicación es inherentemente dinámica es la única excusa que tienes para obligar a usar JS.

En cualquier caso, ¿no será mejor dar un fallback? No estamos hablando de que funcione regulero, es que lo de poner button frente a submit directamente hace que no funcione.

#91 y eso qué tiene que ver? Se puede validar en FE con submit y con button, sólo que con submit además funciona sin JavaScript.

2 respuestas
eXtreM3

#92 jeh, has cambiado de rivales a un campo en el que sí tienes razón (pero que no estabas tratando conmigo)

Me piro de aquí, el que quiera entender que entienda!

1 respuesta
elkaoD

#93 "pero que no estabas tratando conmigo"

Yo no sé de qué cojones estabas hablando tú. Eres tú el que discutía de otro tema.

E

en serio, o nos ponemos todos avatares de dragon ball para darle algo de epicidad a esta batalla, o chapamos el hilo.

Primer aviso.

gohrum

1 respuesta
elkaoD

#96 no, me refiero a que sin JS no validas pero al menos funciona si tienes submit (y ya validará backend, que total tiene que validar igual) frente a que no funcione a secas.

Aún así, se puede validar en FE sin JS con HTML5 "expresiones" como dice #90 http://html5pattern.com/

2 respuestas
gohrum

1
B

#97 Cojonudo le quitas js que es casi standard en cualquier navegador y le metes html5.

1 respuesta
elkaoD

#99 nadie está hablando de estándar o no.

https://addons.mozilla.org/es/firefox/addon/noscript/

1 respuesta
B

#100 El porcentaje de los que tengan noscript es infinitamente menor que los que tengan un navegador no compatible 100% html5.

1 respuesta
BLZKZ

boooooooooooooola de draaaaaaaaaagon ZZZZZZZZZZZZ ahi viene son gohaaaaaaaaaan
boooooooooooooola de draaaaaaaaaagon ZZZZZZZZZZZZ el va a vencer el maaaaaaaal
boooooooooooooola de draaaaaaaaaagon ZZZZZZZZZZZZ el tiene todo el podeeeeeeeeeer
boooooooooooooola de draaaaaaaaaagon ZZZZZZZZZZZZ la fuerza y el sabeeeeer

y su padre está muerto yaaaaaaa era son goku geniaaaaal
son gohanda pronto será un compañero ideaaaaaaaal

2 1 respuesta
elkaoD

#101 y la solución es meter un button y que sólo funcione con JavaScript frente a que tanto JS y HTML5 sean ignorados en caso necesario y el backend haga su trabajo como fallback.

<clap/>

E

#102 hijo, cantas fatal

Merkury

Me encantan los comentarios tipo

Los forms validados en FE y si pasan validación, en BE, que es un coñazo y nadie lo hace, pero es lo que toca.

1 respuesta
B

#105 Si usas un orm no te hace falta (casi) http://www.phpactiverecord.org/projects/main/wiki/Validations

C

#8
podrías ponerme un ejemplo en código de :

una vez tengas claro ese conepto, creas en el HTML, todos los input que quieras que el usuario rellene. si el usuario va a crear inputs nuevos, asignales un NAME dinámico con un contador, por ejemplo name=&quot;usuario1&quot;, name=&quot;usuario2&quot;, etc.

Luego, para saber cuantos inputs ha creado el usuario, tienes un input type hidden con el numero de contador que se envia al php, y una vez estas en php, haces un bucle for, while, lo que quieras, de 0 al numero que sea de inputs dniamicos, y ya recuperas los valores de $_POST[usuario$i], donde $i es el numero de input hasta llegar a capturarlos todos.

por favor, es que no me aclaro con lo del bucle y todo eso
Gracias

1 respuesta
eXtreM3

#107 esto debería funcionar

<?php
	//Te traes los campos con name usuario1, usuario2, usuarioN
	$n = N;
	for($i=1; $i<= $n; $i++)
	{
		echo $_POST['usuario$i'].'<br>';
	}
?>

Con un foreach debe ser más eficiente, pero nunca me acuerdo de la sintaxis y no tenía ganas de buscar xd

1 respuesta
C

#108

pero este codigo que me has añadido en que parte tengo de mi php tengo que ponerlo por que mi código es este :

<?php
 @$nombre=$_POST["txtnombre_comercial"];
 @$codigo=$_POST["txtcod_comercial"];
 @$empresa=$_POST["txtempresa"];
 @$cif=$_POST["txtcif"];
 @$direccion=$_POST["txtdireccion"];
 @$telefono=$_POST["txttelefono"];
 @$fax=$_POST["txtfax"];
 @$email=$_POST["txtemail"];
 @$percontacto=$_POST["txtpercontacto"];
 @$nupedido=$_POST["txtnumero_pedido"];
 @$referencia=$_POST["txtreferencia"];
 @$modelo=$_POST["txtmodelo"];
 @$cantidad=$_POST["txtcantidad"];
   
//Preparamos el mensaje de contacto $cabeceras = "From: $email\n" //La persona que envia el correo . "Reply-To: $email\n"; $asunto = "$asunto"; //El asunto $email_to = "[email protected]"; //cambiar por tu email $contenido = "Mensage de: $nombre\n" . "\n" . "Codigo del comercial: $codigo\n" . "\n" . "Empresa: $empresa\n" . "\n" . "Cif: $cif\n" . "\n" . "Direccion: $direccion\n" . "\n" . "Telefono: $telefono\n" . "\n" . "Fax: $fax\n" . "Email: $email\n" . "\n" . "Persona de contacto: $percontacto\n" . "\n" . "Numero del pedido: $nupedido\n" . "\n" . "PEDIDO: \n" . "\n" . "Referencia: $referencia\n" . "\n" . "Modelo: $modelo\n" . "\n" . "Cantidad: $cantidad\n" . "\n"; @mail($email_to, $asunto ,$contenido ,$cabeceras ) ?>
1 respuesta
eXtreM3

#109 en mitad de $contenido , por ejemplo:

<?php
 @$nombre=$_POST["txtnombre_comercial"];
 @$codigo=$_POST["txtcod_comercial"];
 @$empresa=$_POST["txtempresa"];
 @$cif=$_POST["txtcif"];
 @$direccion=$_POST["txtdireccion"];
 @$telefono=$_POST["txttelefono"];
 @$fax=$_POST["txtfax"];
 @$email=$_POST["txtemail"];
 @$percontacto=$_POST["txtpercontacto"];
 @$nupedido=$_POST["txtnumero_pedido"];
 @$referencia=$_POST["txtreferencia"];
 @$modelo=$_POST["txtmodelo"];
 @$cantidad=$_POST["txtcantidad"];
   
//Preparamos el mensaje de contacto $cabeceras = "From: $email\n" //La persona que envia el correo . "Reply-To: $email\n"; $asunto = "$asunto"; //El asunto $email_to = "[email protected]"; //cambiar por tu email $contenido = "Mensage de: $nombre\n" . "\n" . "Codigo del comercial: $codigo\n" . "\n" . "Empresa: $empresa\n" . "\n" . "Cif: $cif\n" . "\n" . "Direccion: $direccion\n" . "\n" . "Telefono: $telefono\n" . "\n" . "Fax: $fax\n" . "Email: $email\n" . "\n" . "Persona de contacto: $percontacto\n" . "\n" . "Numero del pedido: $nupedido\n" . "\n" . "PEDIDO: \n" . "\n" . "Referencia: $referencia\n" . "\n" . "Modelo: $modelo\n" . "\n" . "Cantidad: $cantidad\n" . "\n" · "Aquí saldrán tus campos dinámicos" //Te traes los campos con name usuario1, usuario2, usuarioN //ACUERDATE DE METER AQUÍ EL VALOR DEL NUMERO DE CAMPOS $n = N; for($i=1; $i<= $n; $i++) { echo $_POST['usuario$i'].'<br>'; } ; @mail($email_to, $asunto ,$contenido ,$cabeceras )
?>
1 respuesta
elkaoD

#110 pero no le hagas los deberes macho, si no lo sabes hacer con lo que has puesto vamos apañados. Ahora te preguntará como hacer la parte JS y así infinitamente xD

1 respuesta
eXtreM3

#111 no me cuesta nada. De todas formas ya le he dicho que con el foreach sería más eficiente, que busque porque es lo mismo.

Lo siguiente que iba a decirle es que el código lo tiene super sucio, que lo arregle un poco xd

txandy

Intenta no usar @, realmente es una "función" bastante costosa y el resultado se puede conseguir con otros metodos más eficientes :)

1 respuesta
gohrum

1 respuesta
B

#114 para ocultar errores....

1 respuesta
gohrum

1 respuesta
B

#116 si, tiene la @ en el post para que no salga el notice si no se ha enviado esa variable por post. Evidentemente es una chapuza y hay que controlar los errores.