Foros del Web » Programando para Internet » Javascript »

Formulario HTML + Script + PHP

Estas en el tema de Formulario HTML + Script + PHP en el foro de Javascript en Foros del Web. Hola, a ver si alguien me puede ayudar. Tengo un formulario en HTML y unos script que validan que el campo no este en blanco: ...
  #1 (permalink)  
Antiguo 17/05/2011, 18:30
 
Fecha de Ingreso: mayo-2011
Mensajes: 3
Antigüedad: 13 años
Puntos: 0
Formulario HTML + Script + PHP

Hola, a ver si alguien me puede ayudar. Tengo un formulario en HTML y unos script que validan que el campo no este en blanco:

<script language="JavaScript">
function noVacio() {


var bError = false;


bError = bError || (eval("document.formulario.Nombre" + ".value == ''"));
if (bError){
alert("Complete su nombre");
eval("document.formulario.Nombre" + ".focus()");
}

bError = bError || (eval("document.formulario.Direccion" + ".value == ''"));
if (bError){
alert("Complete su direccion");
eval("document.formulario.Direccion" + ".focus()");
}

bError = bError || (eval("document.formulario.Telefono" + ".value == ''"));
if (bError){
alert("Complete su telefono");
eval("document.formulario.Telefono" + ".focus()");
}

bError = bError || (eval("document.formulario.Mail" + ".value == ''"));
if (bError){
alert("Complete su e-mail");
eval("document.formulario.Mail" + ".focus()");
}


if (!bError) open("pagina_mail.html","_self");
}

</script>

</head>

<body>
<form name='formulario' id='formulario' action='pagina_mail.html' method="post" target='_self'>
<table width="725" border="0">
<tr>
<td width="109" class="arial">Nombre y Apellido:</td>
<td width="606"><span class="arial">
<input name='Nombre' type='text' id='nombre' size="40" maxlength="40" />
</span></td>
</tr>
<tr>
<td class="arial">Direccón:</td>
<td><span class="arial">
<input name='Direccion' type='text' id='Direccion' size="40" maxlength="50" />
*Calle y número.</span></td>
</tr>
<tr>
<td class="arial">Teléfono:</td>
<td><span class="arial">
<input name='Telefono' type='text' id='Telefono' size="40" maxlength="40" />
*Anteponer el código de área.</span></td>
</tr>
<tr>
<td class="arial">E-mail:</td>
<td><span class="arial">
<input name='Mail' type='text' id='E-mail' size="40" maxlength="40" />
*Debe ser real para poder responderle.</span></td>
</tr>
<tr class="arial">
<td class="arial">Asunto:</td>
<td><input name='Asunto' type='text' id='Asunto' value="Encargue" size="40" maxlength="40" /></td>
</tr>
<tr class="arial">
<td valign="top" class="arial"><a><a>Encargue:</a></a></td>
<td font="arial"><textarea name="Encargue" id="Encargue" cols="40" rows="7">Escriba aquí su encargue...</textarea></td>
</tr>
<tr class="arial">
<td class="arial">&nbsp;</td>
<input type="hidden" name="cantidad" value="8">
<td><input type="button" value='Enviar Encargue' onclick="noVacio()" />
<input type='reset' value='Borrar todo' /></td>
</tr>
</table>
<p align='center'>
<span class="arial"><a><a><a><a><a><a><a><a><a><a><a><a> </p>
</form>


Y la el PHP que lo envia es pagina_mail.html:

<?php


function form_mail($sPara, $sAsunto, $sTexto, $sDe){

if ($sDe)$sDe = "From:".$sDe;

foreach ($_POST as $nombre => $valor)
$sTexto = $sTexto."\n\n".$nombre." = ".$valor;

return(mail($sPara, $sAsunto, $sTexto, $sDe));
}

//Ejemplo de como usar:
if (form_mail("[email protected]",
"Nuevo encargue",
"Los datos introducidos en el encargue son:",
"Remitente"
)
)
echo "<br><br>Su encargue ha sido enviado con éxito.<br><br>";

echo "El mismo será registrado y respondido a la brevedad.<br><br>";

echo "Gracias por elegirnos!<br><br><br><br>";

?>

Mi problema es el siguiente, al mail me llega solo la frase: Los datos introducidos en el encargue son:. Es lo unico que me llega. Ahora si yo saco el script de validacion y al boton enviar lo pongo como submit ahi si me llega perfecto el formulario.
Quisiera que llegue perfecto con las validaciones, si alguien me podria ayudar se lo voy a agradecer!

Saludos!
  #2 (permalink)  
Antiguo 18/05/2011, 02:13
 
Fecha de Ingreso: mayo-2011
Ubicación: Barcelona
Mensajes: 19
Antigüedad: 13 años
Puntos: 1
Respuesta: Formulario HTML + Script + PHP

Hola, considera usar pluguins para validar tus formularios.

Mediante Jquery + Jquery Validate puedes validar no solo que no esten vacios, ademas puedes validar si son digitos, email, longitud...

Jquery + Jquery Validate y Documentacion:
http://bassistance.de/jquery-plugins/jquery-plugin-validation/


Espero que te sea de ayuda.


Respecto a tu error creo que es porque lo que deberías hacer es enviar el formulario
Código Javascript:
Ver original
  1. open("pagina_mail.html","_self"); // Cambiar esta linea por:
  2. document.myform.submit();
  #3 (permalink)  
Antiguo 18/05/2011, 13:26
 
Fecha de Ingreso: mayo-2011
Mensajes: 3
Antigüedad: 13 años
Puntos: 0
Respuesta: Formulario HTML + Script + PHP

gracias, las validaciones estan muy buenas. Lastima que sigo sin poder solucionar el tema del mail, me llega cortado. Hice el cambio de linea que me sugeriste, pero me llega de igual modo, es rarisimo :S
  #4 (permalink)  
Antiguo 18/05/2011, 17:56
 
Fecha de Ingreso: mayo-2011
Mensajes: 3
Antigüedad: 13 años
Puntos: 0
Respuesta: Formulario HTML + Script + PHP

Cita:
Iniciado por yiti007 Ver Mensaje
Hola, considera usar pluguins para validar tus formularios.

Mediante Jquery + Jquery Validate puedes validar no solo que no esten vacios, ademas puedes validar si son digitos, email, longitud...

Jquery + Jquery Validate y Documentacion:
http://bassistance.de/jquery-plugins/jquery-plugin-validation/


Espero que te sea de ayuda.


Respecto a tu error creo que es porque lo que deberías hacer es enviar el formulario
Código Javascript:
Ver original
  1. open("pagina_mail.html","_self"); // Cambiar esta linea por:
  2. document.myform.submit();
listo amigo, ya lo pude solucionar me faltaba el method='post'.. muchas gracias!

Etiquetas: html, php, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:35.