Foros del Web » Creando para Internet » HTML »

Formulario campos obligatorios

Estas en el tema de Formulario campos obligatorios en el foro de HTML en Foros del Web. Buenas, tengo un formulario en html y cuando lo envia me lo envia a un archivo php. La funcion de este formulario es que cuando ...
  #1 (permalink)  
Antiguo 21/07/2010, 09:41
 
Fecha de Ingreso: abril-2010
Mensajes: 76
Antigüedad: 13 años, 11 meses
Puntos: 0
Formulario campos obligatorios

Buenas, tengo un formulario en html y cuando lo envia me lo envia a un archivo php.

La funcion de este formulario es que cuando envian la opinion me llegue a un correo electronico. Hasta aqui todo bien.

Lo que quiero es poner campos obligatorios en el formulario.

Gracias
  #2 (permalink)  
Antiguo 21/07/2010, 10:14
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Formulario campos obligatorios

Tienes dos formas, hacer las verificaciones en el servidor (recomendada y puede que hasta obligada) o usar javascript. Solo es cuestión de verificar los datos escritos y que al pulsar el botón con el evento onsubmit en la etiqueta form haces la verificación.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 21/07/2010, 19:55
 
Fecha de Ingreso: diciembre-2009
Ubicación: Guadalajara, Jalisco
Mensajes: 300
Antigüedad: 14 años, 2 meses
Puntos: 13
Respuesta: Formulario campos obligatorios

Así es, que el campo verifique si tiene algún texto contenido. Incluso puedes poner condiciones para validar si un correo electrónico es correcto o incorrecto.

Saludos.
  #4 (permalink)  
Antiguo 21/07/2010, 20:15
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Formulario campos obligatorios

martines:
Como te indicó Abimaelrc, yo recomiendo siempre que lo hagas desde el mismo php. Deberías postear en ese foro, de todas maneras te dejo un par de funciones que deberías utilizar, como para que te guies:
Código PHP:

$valor_campo 
strip_tags("$str");                    // (1) quitamos probable html de los campos
$valor_campo trim("$valor_campo");                // removemos epacios sobrantes al inicio y final de las lineas, imagina que solo presionaron la barra espaciadora

if ($valor_campo == ""){
### el campo no contiene nada
echo "...es un campo obligatorio...."

Saludos
  #5 (permalink)  
Antiguo 22/07/2010, 02:11
 
Fecha de Ingreso: abril-2010
Mensajes: 76
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Formulario campos obligatorios

Se me havia olvidado poner el codigo, perdon ^^
Este codigo no lo he hecho yo, es de una pagina que llevo mantenimiento y esas cosas.

Gracias


Código PHP:
<?php
$Msg 
"\r\n\r\n";
$UserData "";
$UserData .= "Nom " $_POST["Itm_8_00_1"] . "\r\n";
$UserData .= "Correu electrónic " $_POST["Itm_8_00_2"] . "\r\n";
$UserData .= "Telèfon " $_POST["Itm_8_00_3"] . "\r\n";
$UserData .= "Comentari " $_POST["Itm_8_00_4"] . "\r\n";
mail"[email protected]"""$Msg $UserData"From: [email protected]\r\nContent-type: text/plain; charset=iso-8859-1\r\n");

$Msg "\r\n\r\n";
mail$_POST["Itm_8_00_5"], ""$Msg"From: [email protected]\r\nContent-type: text/plain; charset=iso-8859-1\r\n");

@
header("Location: ../index.html");
?>
  #6 (permalink)  
Antiguo 28/09/2010, 09:55
 
Fecha de Ingreso: abril-2010
Mensajes: 76
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Formulario campos obligatorios

Alguien me podria echar una mano porfavor?
  #7 (permalink)  
Antiguo 28/09/2010, 10:06
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Formulario campos obligatorios

martines:

Tu consulta se refiere a lo que planteaste en Julio, o es algo nuevo?



Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #8 (permalink)  
Antiguo 28/09/2010, 10:22
 
Fecha de Ingreso: abril-2010
Mensajes: 76
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Formulario campos obligatorios

A lo de julio, pero como estava de vacaciones pues lo deje parado, pero es lo mismo
  #9 (permalink)  
Antiguo 28/09/2010, 10:52
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Formulario campos obligatorios

martines:
casualmente estuve haciendo algo para otra persona, quizá te pueda servir,

http://foros.emprear.com/php/somaria/

abrí index1.html y luego el boton "contáctenos", en el caso de ese form, todos los campos son obliagtorios, si solo deseas alguno en especial, deberías tambien incluir algun condiconal extra en la script.
En el .rar están los códigos de form.php y gracias.php (ambos trabajan en conjunto, ya que el sistema incluye un método para que no puedan reenviarte el formulario con tan solo refrescar la página. Lo único que tenes que modificar es el valor de la variable $para en form.php (linea 25) y pomer ahi tu dirección de email.

Cuando lo pruebes, en el campo nombres poné "martines", para saber que fuiste vos el que envio el ejemplo. El email, puede ser cualquier cosa ([email protected]) siempre y cuando tenga un formato válido, poné algo incorrecto para probarlo.

saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #10 (permalink)  
Antiguo 28/09/2010, 12:52
 
Fecha de Ingreso: septiembre-2010
Mensajes: 16
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Formulario campos obligatorios

Eso se llama validacion de los formularios y es PHP, mejor haz la consulta alli.
  #11 (permalink)  
Antiguo 28/09/2010, 22:42
 
Fecha de Ingreso: septiembre-2010
Mensajes: 2
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Formulario campos obligatorios

yo tento uno parecido ojala te sirva...
le das de nombre como quieras..

Cita:

<script language="Javascript" src="scriptt.js"></script>

<div class="entry">
<font size="3" face="Tahoma" color="#550000"><b>INSCRIBETE</b></font>
<p>

<form action="" name="form2" method="POST">

<table border="1" align="center" cellpadding="1" cellspacing="1">


<tr>
<td colspan="2" class="primeracolor">Datos Personales</td>
</tr>

<tr>
<td class="nombre" align="left">Nombres: </td>
<td class="caja"><input type="text" id="nombres" name="nombres" size="25" onkeyup="validarLetras(this.value,'nombres')"/></td>
</tr>

<tr>
<td class="nombre" align="left">Apellidos: </td>
<td class="caja"><input type="text" id="apellidos" name="apellidos" size="25" onkeyup="validarLetras(this.value,'apellidos')"/></td>
</tr>


<tr>

<td class="nombre" align="left">Direcci&oacute;n: </td>

<td class="caja"><input type="text" id="direccion" name="direccion" size="25" onkeyup="validardireccion(this.value,'direccion')" /></td>

</tr>

<tr>
<td class="nombre" align="left">E-mail: </td>
<td class="caja"><input type="text" id="mail" name="mail" size="25" onkeyup="validarMail(this.value,'mail')"/></td>
</tr>

<tr>
<td colspan="2" class="primeracolor">Datos de Inscripci&oacute;n</td>
</tr>


<tr>
<td class="nombre" align="left">N&uacute;mero de vaucher: </td>
<td class="caja"><input type="text" id="vaucher" name="vaucher" size="25" onkeyup="validarNumeros(this.value,'vaucher')"/></td>
</tr>

<tr>

<td class="nombre" align="left">Cantidad depositada: </td>

<td class="caja"><input type="text" id="deposito" name="deposito" size="25" onkeyup="validarNumerosDecimales(this.value,'depos ito')"/></td>
</tr>

<tr>
<td colspan="3" align="center"><input type="button" value="Confirmar" onclick="datosfaltantes()"/>&nbsp;&nbsp;<input type="reset" value="Cancelar" /></td>

</tr>

</table>

</form>


y este es el script....
le das de nombre. scriptt.

Cita:

function validarLetras(vartexto,campo) {
var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZ " + "abcdefghijklmnopqrstuvwxyz" +
"\u00e1\u00e9\u00ed\u00f3\u00fa\u00c1\u00c9\u00cd\ u00d3\u00da\u00f1\u00d1";
//"á","é","í","ó","ú","Á","É","Í","Ó","Ú","ñ","Ñ "
var checkStr = vartexto;

var allValid = true;

var ch;

for (i = 0; i < checkStr.length; i++) {

ch = checkStr.charAt(i);

for (j = 0; j < checkOK.length; j++)

if (ch == checkOK.charAt(j))

break;

if (j == checkOK.length) {

allValid = false;

break;

}
}

if (!allValid) {

alert("Error: \n \nA ingresado caracteres no validos en este campo.");

document.getElementById(campo).focus();
document.getElementById(campo).value="";

return (false);
}
}

function validardireccion(vartexto,campo) {

var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú " + "-." + "0123456789";

var checkStr = vartexto;

var allValid = true;

var ch;


for (i = 0; i < checkStr.length; i++) {

ch = checkStr.charAt(i);

for (j = 0; j < checkOK.length; j++)

if (ch == checkOK.charAt(j))

break;

if (j == checkOK.length) {

allValid = false;

break;

}
}

if (!allValid) {

alert("Error: \n \nEscriba solo letras y digitos en este campo.");

document.getElementById(campo).focus();
document.getElementById(campo).value="";

return (false);
}
}

function validarMail(vartexto,campo) {

var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú" + "0123456789" + "_@.";

var checkStr = vartexto;

var allValid = true;

var ch;


for (i = 0; i < checkStr.length; i++) {

ch = checkStr.charAt(i);

for (j = 0; j < checkOK.length; j++)

if (ch == checkOK.charAt(j))

break;

if (j == checkOK.length) {

allValid = false;

break;

}
}

if (!allValid) {

alert("Error: \n \nSu mail no es correcto.");

document.getElementById(campo).focus();
document.getElementById(campo).value="";

return (false);
}
}


function validarNumeros(vartexto,campo) {

var checkOK = "0123456789";

var checkStr = vartexto;

var allValid = true;

var decPoints = 0;

var allNum = "";

for (i = 0; i < checkStr.length; i++) {

ch = checkStr.charAt(i);

for (j = 0; j < checkOK.length; j++)

if (ch == checkOK.charAt(j))

break;

if (j == checkOK.length) {

allValid = false;

break;
}

allNum += ch;

}

if (!allValid) {

alert("Error: \n \nEscriba solo digitos en este campo.");

document.getElementById(campo).focus();
document.getElementById(campo).value="";

return (false);

}
}

function validarNumerosDecimales(vartexto,campo) {

var checkOK = "0123456789" + ".,";

var checkStr = vartexto;

var allValid = true;

var decPoints = 0;

var allNum = "";

for (i = 0; i < checkStr.length; i++) {

ch = checkStr.charAt(i);

for (j = 0; j < checkOK.length; j++)

if (ch == checkOK.charAt(j))

break;

if (j == checkOK.length) {

allValid = false;

break;
}

allNum += ch;

}

if(vartexto < 0) {

allValid = false;
}

if (!allValid) {

alert("Error: \n \nLa cantidad ingresada es incorrecta.");

document.getElementById(campo).focus();
document.getElementById(campo).value="";

return (false);

}
}

function datosfaltantes() {

if(document.getElementById('nombres').value.length < 3) {

alert("Ingrese por lo menos 3 caracteres en el campo nombre");

return false;

}
else if(document.getElementById('apellidos').value.leng th < 3){

alert("Ingrese por lo menos 3 caracteres en el campo apellidos");

return false;

}
else if(document.getElementById('direccion').value.leng th < 4){

alert("Ingrese por lo menos 4 caracteres en el campo direccion");

return false;

}

else if(document.getElementById('mail').value.length < 4){

alert("La direccion de Correo no es Valida");

return false;

}

else if(document.getElementById('vaucher').value.length < 10){

alert("Ingrese por lo menos 10 digitos en el campo vaucher");

return false;

}

if(document.getElementById('deposito').value.lengt h == 0){

alert("Tiene que ingresar la cantidad depositada");

return false;

}



}


Etiquetas: campos, 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 17:16.