> Faqs > Cómo acceder al value de un campo variable de formulario

Cómo acceder al value de un campo variable de formulario

una pregunta sencilla sobre Javascript y que no consigo resolver.

Tengo una función estilo:

 function pulsado(var1){   
   alert(document.myform.+ var1 +.value);   
 }   

que se ejecuta así:

 onClick="pulsado('boton1')"   

donde lo que quiero es que en el alert me salga el value del botón sobre el que hago click.

ahora mismo el document.myform.+ var1 +.value no es correcto, como hago para que me ponga bien el nombre del botón que le paso con la variable var1?

absteneros de decirme que lo haga poniendo en el botón onClick="alert(this.value)" la función que os paso es solo un ejemplo puesto así para resumir, ya se que parece una función tonta e inútil, pero es solo un ejemplo, alguien que pueda decirme como arreglar esa función?

Respuestas

La pregunta es un poco vieja por lo que igual ya lo tienes claro, pero para quien pueda leerlo la solución más fácil actualmente sería acceder al DOM a través del identificador del campo, mediante el método document.getElementById().

Si tenemos ese campo de formulario:

<input type="button" value="textodelboton" id="miboton" onclick="pulsado('miboton')">

Entonces, en la función le enviamos el identificador del elemento sobre el que queremos acceder. Usamos document.getElementById() para acceder al campo en cuestión y luego ya solamente se trata de acceder al value, que es lo que necesitabas en tu ejemplo.

function pulsado(identificador) {
    var botonPulsado = document.getElementById(identificador);
    alert(botonPulsado.value);
}
Borja
309 6 24 17

Lo puedes solucionar de la siguiente manera:

function pulsado(var1){
alert(eval("document.myform."+var1+".value"));
}

Espero que sea lo que busques.

Sara
45 9
No es muy buena idea usar la función eval en Javascript porque no es muy segura. Más aún si los valores que le pasas a eval vienen de la entrada del usuario.