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 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