Foros del Web » Programando para Internet » Javascript »

Recoger parametro

Estas en el tema de Recoger parametro en el foro de Javascript en Foros del Web. Hola, llevo un tiempo queriendo recoger un parámetro y no lo logro <script type="text/javascript"> Código PHP: function  mostrarInput  ( txtbox ) {        elemento  =  document ...
  #1 (permalink)  
Antiguo 17/07/2008, 07:23
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Recoger parametro

Hola, llevo un tiempo queriendo recoger un parámetro y no lo logro

<script type="text/javascript">

Código PHP:
function mostrarInput (txtbox) { 

     
elemento document.forms["creatext"].c_+txtbox//aquí esta el problema

    
if (elemento.type == "hidden"
    { 
    
elemento.type =   elemento.type ="text"
    
}   
 
alert("Id "+txtbox+" ")
        } 
</script>

<form name="creatext">
<table align=center border="1">
<tr>
<td><input type="hidden" name="c_t1" /></td>
<td>Un texto cualquiera</td>
<td><input type="button" value="Crear Campo" id="t1" onclick="mostrarInput(this.id)" /></td>
</tr>
</table>
</form> 
Gracias
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #2 (permalink)  
Antiguo 17/07/2008, 07:44
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 6 meses
Puntos: 839
Pregunta Respuesta: Recoger parametro

Creo que no se puede hacer de la forma como estás intentando, ¿por qué no asignas un id al input y luego con getElementById obtienes el objeto?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 17/07/2008, 08:23
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 16 años, 11 meses
Puntos: 14
Respuesta: Recoger parametro

aca hay un error
document.forms["creatext"]

forms es un array numerico no un hash

cambia por:

document.forms[0]

sin embargo es mejor lo que dice David el Grande

obtener el elemento por document.getElementById es mejor.

Código:
function mostrarInput (txtbox) { 
     elemento document.getElementById("txtbox");
 if (elemento.type == "hidden") 
    { 
    elemento.type =   elemento.type ="text"
    }   
 alert("Id "+txtbox+" ")
        } 

        } 
</script>

<form name="creatext">
<table align=center border="1">
<tr>
<td><input type="hidden" name="c_t1" id="c_t1"  /></td>
<td>Un texto cualquiera</td>
<td><input type="button" value="Crear Campo" id="t1" onclick="mostrarInput('c_t1')" /></td>
</tr>
</table>
</form>
__________________
My path is lit by my own fire, I only go where I desire
  #4 (permalink)  
Antiguo 17/07/2008, 13:54
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: Recoger parametro

Hola gracias por vuestras respuestas pero ninguna de las dos me ha solucionado el problema.

Puedo asignar una id al input pero después no puedo recogerla con getElementById ya que quedaría así

elemento = document.getElementById("c_+txtbox"); lo cual es totalmente incorrecto

Cita:
Iniciado por foreverOdd Ver Mensaje
forms es un array numerico no un hash
Te puedes referir tanto

forms[0]

como

form['nombreform']

Quizás no me expliqué

Se trata de un form creado dinámicamente, el cual puede contener ciento de registros, cada registro tiene asignado un hidden y un botón, al pulsar el botón el hidden se convierte en text para que el usuario puede completarlo con información que crea relevante

Código PHP:
<html>
<
head>
<
script type="text/javascript">

function 
mostrarInput (txtbox) { 
    
elemento document.forms["creatext"].c_+txtbox;      
    if (
elemento.type == "hidden"
    { 
    
elemento.type =   elemento.type ="text"
    
}   
 
alert("Id "+txtbox+"")
        } 
</script>
</head>
<body>

<form name="creatext">
<table align=center border="1">
<tr>
<td>Campo</td>
<td>Texto</td>
<td>Crear Campo</td>
</tr>
<tr>
<td><input type="hidden" id="c_t1" name="c_t1" /></td>
<td>Un texto cualquiera</td>
<td><input type="button" value="Crear Campo" id="t1" onclick="mostrarInput(this.id)" /></td>
</tr>
<tr>
<td><input type="hidden" id="c_t2" name="c_t2" /></td>
<td>Un texto cualquiera</td>
<td><input type="button" value="Crear Campo" id="t2" onclick="mostrarInput(this.id)" /></td>
</tr>
</table>
</form>

</form>
</body>
</html> 
Fijaros que los hidden se llaman c_t1, c_t2 y los botones t1 y t2. Lo que he de hacer es recoger la id del botón y con ella formar el nombre de los hidden

elemento = document.forms["creatext"].c_+txtbox; esto forma c_t1 o c_t2, como se demuestra en el alert. Pero no funciona

¿Alguna otra idea?

Gracias
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 17/07/2008, 13:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 6 meses
Puntos: 839
Exclamación Respuesta: Recoger parametro

Sí realmente esto:
Código PHP:
elemento document.getElementById("c_+txtbox"); 
Estaría muy mal. Pero esto no:
Código PHP:
elemento document.getElementById("c_"+txtbox); 
Yo lo probé y me funciona a la perfección.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 17/07/2008, 14:41
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: Recoger parametro

Gracias, David el Grande,me estaba volviendo loco pensando por que no funcionaba
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #7 (permalink)  
Antiguo 17/07/2008, 14:44
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 6 meses
Puntos: 839
De acuerdo Respuesta: Recoger parametro

De nada, me alegra que haya funcionado.

Nos vemos...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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:44.