Foros del Web » Programando para Internet » Javascript »

validar valor de select una vez elegido un radio

Estas en el tema de validar valor de select una vez elegido un radio en el foro de Javascript en Foros del Web. Buenas, en general mi duda es esta tengo un grupo de radiobutom del cual si el valor es un 1 no debe enviar mi formulario ...
  #1 (permalink)  
Antiguo 28/10/2008, 14:49
 
Fecha de Ingreso: septiembre-2008
Mensajes: 6
Antigüedad: 15 años, 7 meses
Puntos: 0
validar valor de select una vez elegido un radio

Buenas,
en general mi duda es esta
tengo un grupo de radiobutom del cual si el valor es un 1
no debe enviar mi formulario si el valor del select es 'ninguno'

if (passForm.tipo.value==1){
alert('entre');
if (passForm.clan.value=='Ninguno'){
alert('Selecciona un clan');
}

este es el codigo que tengo plz, si alguien me puede ayudar
  #2 (permalink)  
Antiguo 28/10/2008, 14:53
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: validar valor de select una vez elegido un radio

Código PHP:
if (passForm.tipo.value==&& passForm.clan.value=='Ninguno')
{
    
alert('Selecciona un clan');

Pero sería de utilidad que colocarás el código de tu formulario.
Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 28/10/2008, 14:57
 
Fecha de Ingreso: septiembre-2008
Mensajes: 6
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: validar valor de select una vez elegido un radio

<tr>
<th><div align='left' class='escritura'>Nombre Personaje no jugador</div></th>
<td> <input type='text' name='nom_pnj' class='ingreso'> </td>
</tr>
<tr>
<th><div align='left' class='escritura'>Tipo Personaje no jugador </div></th>
<td class='formato'><input type='radio' name='tipo' value='1' onClick='javascript: DesbloquearVampiro();' checked='true'>Vampiro
<input type='radio' name='tipo' value='2' onClick='javascript: bloquearGhoul();'>Ghoul<br>
<input type='radio' name='tipo' value='3' onClick='javascript: bloquearMortal();'>Humano</td>
</tr>
<tr>
<th><div align='left' class='escritura'>Clan al que pertenece? </div></th>
<td> <select name='clan' class='select'>",SelectClan(),"</select></td>
</tr>
<tr>
<th><div align='left' class='escritura'>Generación </div></th>
<td><select class='select' name='generacion'>"; for($i=13;$i>=4;$i--){
echo "<option>", $i;}
echo "</select></td>

eso por ahora es lo que mas importa del formulario, lo demas lo tengo validado y nop. no me manda la alerta de error

function SelectClan(){

$result = mysql_query('SELECT nom_clan FROM clan');
$vacio = mysql_num_rows($result);
echo "<option>Ninguno";
if ($vacio > 0){
while($row = mysql_fetch_array($result)){
echo "<option>".$row['nom_clan']."</option><br>";
}
}

mysql_free_result($result);
mysql_close($link);
}
ahi esta la funcion de los clanes

Última edición por erithiel; 28/10/2008 a las 15:03
  #4 (permalink)  
Antiguo 28/10/2008, 15:02
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: validar valor de select una vez elegido un radio

Pues haz dejado casi todo idéntico, donde estás generando el select del clan?. Falta ese código.
El de SelectClan().
además espero que passForm sea una variable que tiene por ejemplo lo siguiente:
Cita:
passForm=document.Nombre_de_form
Porque de no ser así ese puede ser el error.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #5 (permalink)  
Antiguo 28/10/2008, 15:06
 
Fecha de Ingreso: septiembre-2008
Mensajes: 6
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: validar valor de select una vez elegido un radio

en el formulario entrego
esa variable onSubmit='return Validar(this)'
de modo que en la funcion de validar el passForm, es general todo lo que me pasa del formulario

el codigo de Validar es
function Validar(passForm){
if (passForm.nom_pnj.value==''){
alert('Nombre vacio');
return false;
}
if (passForm.descripcion.value==''){
alert('Ingrese Descripción');
return false;
}

if (passForm.tipo.value==1 && passForm.clan.value=='Ninguno')
{
alert('Selecciona un clan');
}
return false;
}
y salvo ese ultimo if los demas me funcionan
  #6 (permalink)  
Antiguo 28/10/2008, 15:25
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: validar valor de select una vez elegido un radio

Código PHP:
if (passForm.tipo.value==&& passForm.clan.value=='Ninguno')
{
alert('Selecciona un clan');
return 
false;

Debes cercionarte que los values del select son exactamente de este modo, es decir Ninguno, con la primera en mayúscula.
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #7 (permalink)  
Antiguo 28/10/2008, 15:29
 
Fecha de Ingreso: septiembre-2008
Mensajes: 6
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: validar valor de select una vez elegido un radio

Lo se, de hecho verifique eso tb, por eso no se si es de nuevo capricho de javascript o
que , pero no me acepta esa validacion, sino sería hacerlo ya desde php cuando inserto en bd
  #8 (permalink)  
Antiguo 28/10/2008, 15:38
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: validar valor de select una vez elegido un radio

Te recomiendo que le des a ese option un valor numerico, como por ejemplo 0

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #9 (permalink)  
Antiguo 28/10/2008, 15:44
 
Fecha de Ingreso: septiembre-2008
Mensajes: 6
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: validar valor de select una vez elegido un radio

Nop, tampoco funciona así...
  #10 (permalink)  
Antiguo 28/10/2008, 15:56
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: validar valor de select una vez elegido un radio

Eso es muy extraño, muestra el codifgo de la función que genera el select para darnos una mejor visión del problema.
SelectClan es javascript o php??
deberías colocarla entre sus etiquetas correspondientes.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #11 (permalink)  
Antiguo 28/10/2008, 16:00
 
Fecha de Ingreso: septiembre-2008
Mensajes: 6
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: validar valor de select una vez elegido un radio

es por php
:P nunca he sido la reina del orden aunque en general todo es por php, salvo algunas validaciones que hago;
ahi esta el codigo

function SelectClan(){

$result = mysql_query('SELECT nom_clan FROM clan');
$vacio = mysql_num_rows($result);
echo "<option value='0'>Ninguno";
if ($vacio > 0){
while($row = mysql_fetch_array($result)){
echo "<option>".$row['nom_clan']."</option><br>";
}
}

mysql_free_result($result);
mysql_close($link);
}
  #12 (permalink)  
Antiguo 29/10/2008, 07:51
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: validar valor de select una vez elegido un radio

La validación realizala de este modo, lo que sucede es que hay que recorrer el arreglo de radio botones para saber cual es el valor seleccionado.
Código PHP:
if (getRadioButtonSelectedValue(passForm.tipo)==&& passForm.clan.value==0)
{
alert('Selecciona un clan');
return 
false;
}

}
function 
getRadioButtonSelectedValue(ctrl)
{
    for(
i=0;i<ctrl.length;i++)
        if(
ctrl[i].checked) return ctrl[i].value;

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
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 10:06.