Foros del Web » Programando para Internet » Javascript »

una manito por favor

Estas en el tema de una manito por favor en el foro de Javascript en Foros del Web. Hola a todos y un coordial saludo. Estoy trabajando con un radiogroup el cual esta dentro de un for, le e puesto un contador para ...
  #1 (permalink)  
Antiguo 20/12/2010, 08:40
Avatar de Sougiro  
Fecha de Ingreso: octubre-2007
Mensajes: 136
Antigüedad: 16 años, 5 meses
Puntos: 1
una manito por favor

Hola a todos y un coordial saludo.

Estoy trabajando con un radiogroup el cual esta dentro de un for, le e puesto un contador para diferenciar los nombres, pero resulta que esto me ha gerenado el siguiente error "document.formato.estadoj.lenght is null or not an object", como me puedo dar cuenta parece que el nombre esta mal y eso lo complica todo, ya que la funcion que toma el valor para poderse guardar en la base de datos no a parece. el codigo es el siguiente:

function get_radio_value_ori(j) {
for( var i=0; i < document.formato.estadoj.length; i++ ){
if( document.formato.estadoj[ i ].checked ){
return document.formato.estadoj[ i ].value;
}
}
}

j es el contador que antes mencione, por favor me pueden ayudar o decirme otra manera para tomar los datos del radiogroup.

Gracias.
  #2 (permalink)  
Antiguo 20/12/2010, 08:45
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 21 años, 11 meses
Puntos: 1284
Respuesta: una manito por favor

Hola:

Para que elementos array de formularios puedan ser procesados por lenguajes del servidot como php, se suelen poner nombres terminados por "[]" un juego de corchetes... si es el caso tendrás que considerar ese nombre con los corchetes en tu bucle... si no lo entiendes, será mejor que muestres más código... el del formulario...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 20/12/2010, 08:55
Avatar de Sougiro  
Fecha de Ingreso: octubre-2007
Mensajes: 136
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: una manito por favor

hola, te dejo el codigo del formulario:

<td colspan="3" rowspan="2" valign="top"><p>
<label>
<input type="radio" name="estado<? echo $i ?>" value="Activo" <?php if($valida=="Activo"){echo 'checked="checked"';} ?>>
Activo</label>
<br>
<label>
<input type="radio" name="estado<? echo $i ?>" value="Inactivo" <?php if($valida=="Activo"){}else{echo 'checked="checked"';} ?>>
Inactivo</label>
</p></td>
<td>&nbsp;</td>
  #4 (permalink)  
Antiguo 20/12/2010, 09:05
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 9 meses
Puntos: 1012
Respuesta: una manito por favor

en el formulario no existe ningún elemento se llame estadoj. lo que has de hacer es lo que caricatos que ha mencionado, name="estado[]" y con ello ya puedes obtener una colección. por cierto aquí, <?php if($valida=="Activo"){}else{echo 'checked="checked"';} ?, te sobra una llave
  #5 (permalink)  
Antiguo 20/12/2010, 09:08
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 21 años, 11 meses
Puntos: 1284
Respuesta: una manito por favor

Hola:

Código:
name="estado<? echo $i ?>"
Acaso eso es un bucle... ... tu código ayuda muy poco, si son valores distintos no sirven para radios...

Creo que en vez de estadoj debes referirte a ["estado" + j]... pero para jugar al "adivina adivinanza", te toca jugar a ti...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 20/12/2010, 10:10
Avatar de Sougiro  
Fecha de Ingreso: octubre-2007
Mensajes: 136
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: una manito por favor

Hola, jeje si perdona mi novatada, ese estado<? $i ?> si es un bucle, yo le paso el $i como identificador del estado osea que queda asi estado0, estado1. Me he dado cuenta que con el document.getElementById se puede traer los datos que estan con ese nombre con la instruccion: document.getElement.ById("estado"+$i), pero me surje el siguiente problema y es que me toma el valor de los dos estados que hay "Activo e Inactivo". la pregunta es como hayo yo para saber cual de los dos tomar. He visto que con el checked uno sabe cual de los dos se toma, mi pregunta como hago para saber cual de los dos valores puede ser tomado osea que esta checked.

gracias.
  #7 (permalink)  
Antiguo 20/12/2010, 13:57
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 9 meses
Puntos: 1012
Respuesta: una manito por favor

Cita:
<td colspan="3" rowspan="2" valign="top"><p>
<label>
<input type="radio" name="estado0" value="Activo" checked="checked" onclick="get_radio_value_ori(this.checked)">
Activo</label>
<br>
<label>
<input type="radio" name="estado1" value="Inactivo" onclick="get_radio_value_ori(this.checked)">
Inactivo</label>
que no es eso, quita la invocación a la función
el html ha de quedar así, pongamos sin tratarlo como array
Cita:
<td colspan="3" rowspan="2" valign="top"><p>
<label>
<input type="radio" name="estado" value="Activo" checked="checked">
Activo</label>
<br>
<label>
<input type="radio" name="estado" value="Inactivo">
Inactivo</label>
el javascript
Cita:
function get_radio_value_ori() {
for( var i=0; i < document.formato.estado.length; i++ ){
if( document.formato.estadoj[i].checked ){
return document.formato.estadoj[i].value;
}
}
}

Etiquetas: favor
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 05:30.