Foros del Web » Programando para Internet » Javascript »

Ayuda con checkbox para mandar email

Estas en el tema de Ayuda con checkbox para mandar email en el foro de Javascript en Foros del Web. Hola buen dia eh estado tratando desde hayer mandar email con uso de checkbox pero no eh poido, les cuento el problema Resulta que muestro ...
  #1 (permalink)  
Antiguo 10/12/2008, 08:41
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
Pregunta Ayuda con checkbox para mandar email

Hola buen dia eh estado tratando desde hayer mandar email con uso de checkbox
pero no eh poido, les cuento el problema

Resulta que muestro unas tablas generadas con un while
me puede generar varias tablas, en las tablas en la primera columna es donde esta el checkbox generado con id dinamico, en la segunda columna muestro el email de la persona
Código PHP:
 <?php  echo "<td><input type='checkbox' id='checa$i' name='checa$i' value='checa$i' onclick='?????'></td>";
a si es como lo uso....

Bueno a hora hay veces que en la tabla en la segunda columna email no tiene email y si no tiene aparece un textbox

Código PHP:
 if($id_email=="" || $id_email==0)
                     
                   {?><td><?=$nomcont;?> </td>
                   <?   $z=1;  $z++; ?>
                   <td><input type="text" name="email[]" value="<?=$z;?>"></td>
                    <? 
                   
                   
}
lo que quiero hacer que al momento de hacer click en el checkbox me valide y me diga si en ese renglon aparecion el textbox debe ser necesario escribir una direccion de correo si no pues que deje clickearlo

es pero me haya echo entender gracias por su respuestas y ayuda.....
  #2 (permalink)  
Antiguo 10/12/2008, 09:04
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
Respuesta: Ayuda con checkbox para mandar email

Creo que voy a necesitar que me cambie a java moderador gracias...

Necesito funcion java para hacer esto creo

Hayuda por fa
  #3 (permalink)  
Antiguo 10/12/2008, 09:22
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Ayuda con checkbox para mandar email

Cita:
Iniciado por LuZBinG Ver Mensaje
lo que quiero hacer que al momento de hacer click en el checkbox me valide y me diga si en ese renglon aparecion el textbox debe ser necesario escribir una direccion de correo si no pues que deje clickearlo
ehhhh.... esa parte esta algo confusa...... explicala mejor plis......

y por otro lado.... los array existen sabias????

para que creas variables (var1,var2,.... varN) si puede ser mas sencillo(var[1],var[2],.... var[N].

bueno espero puedas solucionar tu problema.....
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #4 (permalink)  
Antiguo 10/12/2008, 09:41
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
Respuesta: Ayuda con checkbox para mandar email

Gracias por contestar :)

Explico tengo esto generado por un while

[PHP]
$sql="select"......
<form action="enviar.php" name="forma" id="forma"method="post" >
<table>
<tr class="" ><!-- style="font-weight:normal; font:Geneva, Arial, Helvetica, sans-serif; font-size:x-small;" -->
<td width="72" height="35">ENVIO</td>

<td width="79">Email</td>
</tr>
<?php
$i=1;
while($ren=mysql_fetch_array($result))
{
$email=$ren['email];

if($email=="" || $email==0)

<? $z=1; $z++; ?>
<td><input type="text" name="email[]" value="<?=$z;?>"></td>
<?

}
else{
$sql_con="select * from email whereid='$id_cemail'";
$res_con=mysql_query($sql);
$ren_con=mysql_fetch_array($res_con);
$cNombreCon=$ren_con['cNombreCon'];
$cEmail=$ren_con['cEmail'];
?>

<td><?=$cEmail;?></td>
<? }

PHP]

Si se fijan me va a mostrar un textbox si no existe un email

bueno lo que quiero es validar ese textbox si llega a aparecer
esto hacerlo con el checkbox
por ejemplo
la consulta generaria esto::

enviar email
1[] [email protected]
2[] [ escribir correo ]
3[] [email protected]

[enviar]


al momento de seleccionarlo en el checkbox me valide y me diga tienes que escribir correo, para asi poder enviar el registro

el usuario puede seleccionar cualquiera de los checkbox incluso los 3
tambien validarme si selecciono los 3 y si en alguno de los 3 no existe el correo
mandarme aviso o alert

espero me entiendan gracias espero su ayuda
  #5 (permalink)  
Antiguo 10/12/2008, 10:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Ayuda con checkbox para mandar email

Tema trasladado a Javascript.
  #6 (permalink)  
Antiguo 10/12/2008, 11:14
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Ayuda con checkbox para mandar email

maestro ps lo veria de dos formas segun mi logica rapida.....

1. con php.... que preguntes si hay algo o no en la variable correspondiente......
es decir, cuando le den click a un checkbox este tiene como indice ejemplo el 2.... y ps preguntas si el correo con indice 2 esta vacia... de serlo... le muestras el alert, y envias un return false.

2. con javascript.... create en la segunda columna tambien inputs text... con los mismos indices que los checkbox.... pero aquellos que no tienen data.... ps le pintas el text pero con css le quitas los bordes y fondos aparentando que no hay nada y que es un simple texto..... o mas sencillo creo desabilitarlos......... y ps listo..... preguntas cuando le den click al checkbox y la caja de texto correspondiente esta vacia o no????

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #7 (permalink)  
Antiguo 10/12/2008, 11:32
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
Respuesta: Ayuda con checkbox para mandar email

gracias por contestar
estoy haciendo esto mira

Código HTML:
 <td><input type='checkbox' id='checa<?=$i;?>' name='checa<?=$i;?>' value='<?=$id_coti;?>' onClick="validar('checa<?=$i;?>,email<?=$i;?>');" ><?=$i;?></td>


  <td><input type='text' name='email<?=$i;?>'></td> 
y en la funcion java me falta acompletarla

Código:
function validar(id,email)
{
	
	if ( document.getElementById(id).checked==true &&   document.getElementById(id).value=="" )
	{
	  
	 //alert(id+email);
		
	}
}
por que me da error ??

onClick="validar('checa<?=$i;?>,email<?=$i;?>')


podrian ayudarme a completarla gracias
  #8 (permalink)  
Antiguo 10/12/2008, 11:45
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
De acuerdo Respuesta: Ayuda con checkbox para mandar email

Ok gracias

masterojitos me funciono

agrege esto

Código:
function validar(id,email)
{

	if ( document.getElementById(id).checked==true &&  document.getElementById(email).value=="")
	{
	  
	 alert("entro"+id+email);
	document.getElementById(id).checked=false;
	}
}
y
funciona

ahora voy a validar el correo se ha correcto que tenga . @ etc
gracias y les cuento
  #9 (permalink)  
Antiguo 10/12/2008, 12:06
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Ayuda con checkbox para mandar email

es que asi no se envia parametros ps maestraso... sino asi:
onClick="validar('checa<?=$i?>','email<?=$i?>')

por otro lado....... te mencione que envez de concatenar variables envies el indice del array... pero bueno que tan bien fuinciona asi...... pero no es una buena practica ps....
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #10 (permalink)  
Antiguo 10/12/2008, 12:09
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Ayuda con checkbox para mandar email

EN CUENTO A LO DE VALIDAR UN CORREO AQUI TE PASO MI FUNCION, SOLO DEBES PASARLE EL VALUE DE LA CAJA DE TEXTO.

nota: no es codigo php... es javascript solo que lo envolvi en las etiquetas php para apreciarlo mejor.
Código PHP:
function emailCheck(emailStr) {
<!-- 
Changes:  Sandeep VTamhankar (stamhankar@hotmail.com) -->

/* 1.1.2: Fixed a bug where trailing . in e-mail address was passing
            (the bug is actually in the weak regexp engine of the browser; I
            simplified the regexps to make it work).
   1.1.1: Removed restriction that countries must be preceded by a domain,
            so [email protected] is now legal.  However, there's still the 
            restriction that an address must end in a two or three letter
            word.
     1.1: Rewrote most of the function to conform more closely to RFC 822.
     1.0: Original  */

<!-- This script and many more are available free online at -->
<!-- 
The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
/* The following pattern is used to check if the entered e-mail address
   fits the user@domain format.  It also is used to separate the username
   from the domain. */
var emailPat=/^(.+)@(.+)$/
/* The following string represents the pattern for matching all special
   characters.  We don't want to allow special characters in the address. 
   These characters include ( ) < > @ , ; : \ " . [ ]    */
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
/* The following string represents the range of characters allowed in a 
   username or domainname.  It really states which chars aren't allowed. */
var validChars="\[^\\s" specialChars "\]"
/* The following pattern applies if the "user" is a quoted string (in
   which case, there are no rules about which characters are allowed
   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
   is a legal e-mail address. */
var quotedUser="(\"[^\"]*\")"
/* The following pattern applies for domains that are IP addresses,
   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
   e-mail address. NOTE: The square brackets are required. */
var ipDomainPat=/^[(d{1,3}).(d{1,3}).(d{1,3}).(d{1,3})]$/
/* The following string represents an atom (basically a series of
   non-special characters.) */
var atom=validChars '+'
/* The following string represents one word in the typical username.
   For example, in [email protected], john and doe are words.
   Basically, a word is either an atom or quoted string. */
var word="(" atom "|" quotedUser ")"
// The following pattern describes the structure of the user
var userPat=new RegExp("^" word "(\\." word ")*$")
/* The following pattern describes the structure of a normal symbolic
   domain, as opposed to ipDomainPat, shown above. */
var domainPat=new RegExp("^" atom "(\\." atom +")*$")


/* Finally, let's start trying to figure out if the supplied address is
   valid. */

/* Begin with the coarse pattern to simply break up user@domain into
   different pieces that are easy to analyze. */
var matchArray=emailStr.match(emailPat)
if (
matchArray==null) {
  
/* Too many/few @'s or something; basically, this address doesn't
     even fit the general mould of a valid e-mail address. */
    
return "La dirección de correo<br>parece invalida.<br>(comprobar [@] y [.])";
}
var 
user=matchArray[1]
var 
domain=matchArray[2]

// See if "user" is valid 
if (user.match(userPat)==null) {
    
// user is not valid
    
return "La dirección de correo<br>parece invalida.<br>(comprobar datos antes de [@])";
}

/* if the e-mail address is at an IP address (as opposed to a symbolic
   host name) make sure the IP address is valid. */
var IPArray=domain.match(ipDomainPat)
if (
IPArray!=null) {
    
// this is an IP address
      
for (var i=1;i<=4;i++) {
        if (
IPArray[i]>255) {
            return 
"La dirección de correo<br>parece invalida.<br>(IP de destino incorrecta)";
        }
    }
    return 
"";
}

// Domain is symbolic name
var domainArray=domain.match(domainPat)
if (
domainArray==null) {
    return 
"La dirección de correo<br>parece invalida.<br>(comprobar datos despues de [@])";
}

/* domain name seems valid, but now make sure that it ends in a
   three-letter word (like com, edu, gov) or a two-letter word,
   representing country (uk, nl), and that there's a hostname preceding 
   the domain or country. */

/* Now we need to break up the domain to get a count of how many atoms
   it consists of. */
var atomPat=new RegExp(atom,"g")
var 
domArr=domain.match(atomPat)
var 
len=domArr.length
if (domArr[domArr.length-1].length<|| 
    
domArr[domArr.length-1].length>3) {
   
// the address must end in a two letter or three letter word.
   
return "La dirección de correo<br>parece invalida.<br>(Comprobar datos despues de [.])";
}

// Make sure there's a host name preceding the domain.
if (len<2) {
   return 
"La dirección de correo<br>parece invalida.<br>(Comprobar datos despues de [.])"
}

// If we've gotten this far, everything's valid!
return "";

suerte y que Dios te Bendiga.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #11 (permalink)  
Antiguo 10/12/2008, 13:35
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
Respuesta: Ayuda con checkbox para mandar email

Ok Gracias master

Ya valide el correo

Ahora tengo problemas
al pasar los datos del text, el correo, para mandar por email

los paso a otra pagina

me pasa nomas el primero que selecciono

creo que necesito recorrer con un for la variable $i

oyes es mejor con array en los checkbox como tu dices pero yo ya lo empece asi
para la otra me evito tanto codigo


la verdad a si como lo hago no encontrado en este foro en el buscador
tenia mucho que no me tocaba algo parecido y la verdad ya no me acuerdo
de como pasar las variables

<input type="hidden" name="i" value="<?=$i;?>">

creo que asi
bueno le voy a seguir gracias
  #12 (permalink)  
Antiguo 10/12/2008, 14:34
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Ayuda con checkbox para mandar email

esta: <input type="hidden" name="i" value="<?=$i;?>"> esta bueno........ pero?????

si usas php v.5. no te permitira MOSTRAR una varible de la forma <?=$var?> , solo asi: <?php echo $var; ?> ........

y ps si, asi se envian las variables.

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
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 09:04.