Código javascript

A ver si me podrías ayudar con lo siguiente. Necesito un script que haga lo siguiente: tengo un lista con dos opciones: CD-Rom (cuyo valor es 18, por ej.) y Monitor (cuyo valor sea 24, por ej.). Al lado del menu/list hay un campo de texto de manera que si en el menu elijo CD-Rom, en el campo de texto aparezca escrito "Has elegido un CD-Rom" y si si elijo Monitor, en el campo de texto aparezca "Has elegido un monitor".
Respuesta
Es muy fácil:
En el onchange de la etiqueta Select, colocas el nombre de una función: <select id="... onchange="comprueba()">.
Con esto te creas una función que haga lo siguiente:
1- Tiene que recoger el valor que tiene la select: document. id_del_formulario. id_de_la_select. value. Es es el valor que se te pondrá a 18, 24, etc...
Después sólo tienes que decirle que si el valor es 24 haga:
document.id_del_formulario.id_del_campo_de_texto.value="CD-rom" <-- De esta forma cambias el valor del campo de texto. Aparecerá automaticamente.

9 respuestas más de otros expertos

Respuesta
1
Espero que te sirva:
<HTML>
<HEAD>
<TITLE>FORMULARIO</TITLE>
<BODY>
<SELECT size=1 id=listado name=listado onchange="fSeleccion()">
<OPTION value=""></OPTION>
<OPTION value="12">CD-Rom</OPTION>
<OPTION value="24">Monitor</OPTION>
</SELECT>
<INPUT type="text" id=caja name=caja>
</BODY>
</HTML>
<script>
function fSeleccion()
{
caja.value="Has elegido un " + listado.options(listado.selectedIndex).text;
}
</script>
Respuesta
1
Claro que te puedo ayudar. Te mando el codig de la función, supongo que el menu/list se llama menu y que el campo de texto se llama campo.
Funtion Cambia()
{
document.forms[0].campo.value=document.forms[0].menu(document.forms[0].menu.selectedIndex).value;
}
La llamada a esta función la tienes que hacer en el evento onChange del menu/list.
Si no funciona sera por alguna mayúscula o punto y coma, nada más.
Espero que te sirve de ayuda, recibe un saludo y suerter
Muchas gracias por la ayuda, pero es que no se como poner lo del onChange ese del menu/list. Es que de Javascript no tengo ni idea. ¿Podrías escribirme un ejemplo con el html completo? Ya se que es una molestia y eso, pero es que si no no se muy bien como integrar los códigos en el html de la página entera. Gracias de nuevo y por adelantado
Ok, te paso el código entero incluyendo el html, cópialo y pégalo, con eso debe de bastar si no he metido la pata en algo.
Nda más, espero que salga bien, suerte y un saludo
<script>
funtion Cambia()
{
document.forms[0].campo.value=document.forms[0].menu(document.forms[0].menu.selectedIndex).value;
}
</script>
<html>
<body>
<form method="post" name="Formulario">
<select name="menu" onChange="javascript:Cambia();">
<option value="Has seleccionado CDROM">CDROM</OPTION>
<option value="Has seleccionado Diskette">Diskette</OPTION>
</select>
<input type="text" name="campo" value="">
</form>
</body>
</html>
Hola de nuevo (vas a pensar que soy un pesado). Tu solución no es exactamente lo que necesito. Me explico: en el código que necesito, el valor del CDROM no puede ser "Has seleccionado CDROM" y lo mismo con Diskette, te explico, los valores deben ser valores numéricos, porque ese mismo menu lo uso para hacer unos cálculos numéricos, por eso en mi consulta ponía que el valor de CDROM debía ser 18, por ejemplo, y el de la disquetera, 25, por ejemplo. Lo que necesito es decirle algo como: "Si el valor seleccionado en el menu es 18, entonces en el campo de texto escribes Has elegido un CDROM y si el valor seleccionado en el menu es 25, en el campo de texto escribes "Has elgido una disquetera". Gracias de nuevo por tu ayuda
No te preocupes, que no eres un pesado, estamos para ayudar. Te mando otra vez el cidgo modificado o para lo que quieres, pruébalo y si et da algún error me lo comentas.
UN saludo y suerte
<script>
funtion Cambia()
{
if(document.forms[0].menu.selectedIndex==18
{
document.forms[0].campo.value="Has seleccionado CDROM";
}
else
{
document.forms[0].campo.value="Has seleccionado Diskette";
}
</script>
<html>
<body>
<form method="post" name="Formulario">
<select name="menu" onChange="javascript:Cambia();">
<option value="18">CDROM</OPTION>
<option value="25">Diskette</OPTION>
</select>
<input type="text" name="campo" value="">
</form>
</body>
</html>
A mi no me funciona ¿lo has probado tu y a ti si te va? En cuanto cargo la página abajo (en la barra de estado) me sale el símbolo de alerta por error, y no hace nada. He probado a cambiar la linea document.forms[0]. Por document. Formulario. (Que es como se llama mi formulario), pero tampoco funciona. Comprendo lo que has hecho. Le has dicho que si el valor del menu es 18, que el valor del campo sea "Has seleccionado un CDRom" y si no, que sea "Has seleccionado un diskette, pero... ¿por que no funciona?
Revisando tu código, he visto que en
if(document.forms[0].menu.selectedIndex==18
{
Has abierto un paréntesis justo después del if, y no lo has cerrado después en todo el código. ¿Sera ese el error? Yo estoy probando a ver si me sale algo...
Si, ese es el error, perdona por el fallo, pero hacerlo en esta ventanita que et dejan ...
Pues eso, simplemente por unas llave para cerrar justo antes del </script> y te funcionara.
Nada más.
Respuesta
1
Respecto a tu pregunta tengo un script, pero no sé si a este te refieres. Para verlo entra en mi página en la siguiente dirección que allí está el javascript que yo creo que es el que tú necesitas: http://www.geocities.com/gasbyl/J25.htm
En caso de no ser este el javascript que tú me pides, dímelo que buscaré otro.
Atte. Alan Owsiany (Webmaster de: http://www.geocities.com/gasbyl/)
Respuesta
1
Espero que te sirva aquí tienes algo de código:
<!--
El funcionamiento es sencillo, una vez se detecta que en el combo se pincha algo se llama
a la función "seleccionado" que es la encargada de recoger el valor seleccionado del formulario
y automáticamente dárselo a la caja de texto
Unicamente es saber jugar con los distintos objetos del formulario y saber sus propiedades.
-->
<html>
<script>
function seleccionado(){
document.formularioPrueba.opcionElegida.value=document.formularioPrueba.lista1.options[document.formularioPrueba.lista1.selectedIndex].value
//formulario.edad.options[formulario.edad.selectedIndex].value
}
</script>
<form name="formularioPrueba">
<select name="lista1" onClick=seleccionado()>
<option value="Cd Rom"></option>
<option value="Cd Rom">Cd Rom</option>
<option value="Impresora">Monitor</option>
</select>
<br>
Opcion Ha elegido
<input type=txt name=opcionElegida value="">
<form>
</html>
<!-- Un saludo -->
No era eso exactamente lo que necesitaba, ya que como ponía en mi consulta, el valor de las diferentes opciones debía ser un numero, no el mismo texto que cada opción. De todas maneras ya lo he solucionado
Respuesta
1
A nivel del tag <SELECT ...> asocia el evento onChange="javascript:myFuncionJavaScript();"
En la función
function myFuncionJavaScript() {
}
Puedes preguntar
document.forms.[nombre de formulario].[Nombre del SELECT].selectedIndex
Que te devolverá el 18 o 24 según lo que haya seleccionado el usuario
Con ello y unos "if", puedes asignar una cadena al campo de texto:
document.forms.[nombre de formulario].[Nombre del INPUT TEXT].value = 'bla bla bla';
Si quieres que te salga un valor por defecto al cargar la página, en el tag <BODY ..> asocia el evento onLoad="javascript: myFuncionJavaScript();"
Respuesta
1
<form name="forma">
<select name="menu" size="1" onchange="alet()">
<option value="16" name="CD-ROM">CD-ROM</option>
<option value="24" name="Monitor" selected>Monitor</option>
</select>
<input type="text" name="cua">
</form>
<script languague="javascript">
<!--
function alet(){
document.forma.cua.value="Haz elegido un "+document.forma.menu[document.forma.menu.selectedIndex].name
}
-->
</Script>
Aquí esta el código de ejemplo.
A cada una de las opciones ponle un atributo llamado name ="nombre que quieras"
En la caja de texto aparecerá el contenido del atributo name y como puedes observar el value (valor) de cada una de las opciones (16 ó 24 como me mencionaste) no fue modificado, si deseas algo más házmelo saber
Respuesta
A continuación te escribo una página HTML sencilla con lo que pides, están incluidos los comentarios necesarios para entender el código, sólo debes copiar todo el código y pegarlo en una página HTML, lo pruebas y luego lees las explicaciones:
<html>
<head>
<script language="JavaScript">
<!--
function fAyuda(nOpcion) {
// Aquí va la lista de opciones definidas en la lista desplegable.
//Como puedes ver sólo he usado ocho valores. (Se cuenta desde el valor 0 al 7 ambos inclusive)
var sDesc = new Array(7);
sDesc[0]='Está a la derecha o delante de la caja.';
sDesc[1]='Está debajo del escáner.';
sDesc[2]='Está detrás de la impresora.';
sDesc[3]='Está dentro, cerca de la cinta de impresión.';
sDesc[4]='Está dentro abriendo el frontal.';
sDesc[5]='Está debajo de la lectora.';
sDesc[6]='Está detrás del monitor.';
//Esta línea es la que escribe el valor
//Su uso es el siguiente:
//document.nombre_formulario.nombre_cuadro_de_texto_en_el_que_se_escribe.value=sDesc[nOpcion];
document.correo.ayuda.value=sDesc[nOpcion];
}
</script>
<title>Prueba</title>
</head>
<body>
<h1>Pruebas</h1>
<form method="POST" name="correo" action="fichero que uses">
<table border="0" cellspacing="0" cellpadding="2" width="80%">
<tr>
<td>Maquina averiada</td>
<!-- Cómo puedes ver la lista desplegable se llama 'maquina' y tiene siete valores distintos
Además verás la opción 'OnChange' que se activa al seleccionar un valor
y envía la variable 'value' a la función definida en la cabecera -->
<td> <select name="maquina" onChange="fAyuda(document.correo.maquina.value)">
<option value="0">Equipo</option>
<option value="1">Escaner</option>
<option value="2">Impresora</option>
<option value="3">Impresora VIEJA</option>
<option value="4">Impresora HP LaserJet 1200</option>
<option value="5">Lectora</option>
<option value="6">Monitor</option>
</select> </td>
</tr>
<tr>
<td><font color="#0000FF">Ubicacion del no de serie:</font></td>
<td valign="middle" >
<!-- Aquí ves que el cuadro de texto se llama 'ayuda' -->
<input type="text" name="ayuda" value="Está a la derecha o delante de la caja." size="40" style="background-color: #FFFF99">
</td>
</tr>
<tr>
<td> <div align="right">
<input type="submit" value="Enviar" name="B1">
</div></td>
<td> <div align="left">
<input type="reset" value="Restablecer" name="B2">
</div></td>
</tr>
</table>
</form>
</body>
</html>
Respuesta
-1
A la paz de dios tenga usted, pues te cuento sobre el tema con las diferentes opciones que se me ocurren:
1) Acceder al text, una manera es (por lo del crossbrosingggg, arggggggg) document. Formulario.combo.options[document.formulario.combo.selectedindex].text, creo recordar que era algo asinnn y si no ya sabes, al google.
2) Una función que en el onchange del combo tome el value de este y lo use como indice de un array en el que este el texto con el cual rellenas la caja de texto.
Ala que te sea bonito y no olvides aullar a la luna.
Con dios.
Respuesta
-1
A ver si te sirve el código que tengo en la siguiente dirección:
http://personal.telefonica.terra.es/web/tresvdoble/javascript/select2.htm

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas