Foros del Web » Programando para Internet » Javascript »

Enviar el nombre del select, no el de value

Estas en el tema de Enviar el nombre del select, no el de value en el foro de Javascript en Foros del Web. En el formulario q tengo, hay varios select, y cuando lo envio por medio del form a otra pagina hay alguna posibioidad q me envie ...
  #1 (permalink)  
Antiguo 11/01/2003, 22:36
Avatar de andresfh  
Fecha de Ingreso: noviembre-2002
Mensajes: 12
Antigüedad: 21 años, 5 meses
Puntos: 0
Enviar el nombre del select, no el de value

En el formulario q tengo, hay varios select, y cuando lo envio por medio del form a otra pagina hay alguna posibioidad q me envie el valor q esta fuera del value?? ejem

<form name="form" method="post" action="">
<select name="select">
<option value="7500">Procesador</option>
<option value="9866">Memoria</option>
</select>
</form>

en esta seccion quiero q el form me envie solo "Procesador", por ejemplo si eso es lo q escogen, pq el campo value lo uso para hacer un calculo local, y quiero enviar ese otro nombre a un e-mail!

eso se puede hacer??
gracias
  #2 (permalink)  
Antiguo 11/01/2003, 23:05
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Yo pondría en mi formulario un objeto <input type="hidden">
sobre el cual mantendría actualizado el option seleccionado. De
esta forma podrías recojer ambos valores al leer el formulario.

La forma de hacerlo sería la siguiente:

Código PHP:
<html>
 <
head>
  <
script language="JavaScript">
   function 
actualiza(){
    
with (document.frm)
     
oculto.value visible.options(visible.selectedIndex).text;
   }
  
</script>
 </head>
 <body>
  <form name="frm">
   <select name="visible" onchange="actualiza()">
    <option value="22">Veintidos</option>
    <option value="33">Treinta y tres</option>
    <option value="44">Cuarenta y cuatro</option>
   </select>
   <input type="text" name="oculto">
  </form>
 </body>
</html> 
El elemento llamado oculto está puesto como un <input type="text"> para que veas la funcionalidad. Para implementarlo cambialo por un <input type="hidden">.

Saludos.
  #3 (permalink)  
Antiguo 12/01/2003, 22:32
Avatar de andresfh  
Fecha de Ingreso: noviembre-2002
Mensajes: 12
Antigüedad: 21 años, 5 meses
Puntos: 0
funciono a la perfeccion, pero para que me funcionara con todos los select q tengo, me toco crear un input hiden para cada uno, y no los pude usar con with, asi q me toco usar la ruta del ducumento para cada uno, algo asi como:

document.forma.Procesador.value = document.forma.procesadorVal.options(document.form a.procesadorVal.selectedIndex).text;

pero hecho para cada imput

sera q hay alguna opcion para q lo haga automaticamente para todos los select que tengo en el form??'
  #4 (permalink)  
Antiguo 12/01/2003, 22:37
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
No, el problema es que en JavaScript los comandos como with, if, while, etc. cuando involucran a una sola instrucción, se escribe dicha instrucción a continuación y punto, pero cuando involucran a mas de una debes colocar el bloque de instrucciones entre llaves.

Para dos o mas campos quedaría asi:

Código PHP:
<html>
 <
head>
  <
script language="JavaScript">
   function 
actualiza(){
    
with (document.frm){     // Abres un bloque
     
oculto1.value visible1.options(visible1.selectedIndex).text;
     
oculto2.value visible2.options(visible2.selectedIndex).text;
    }                            
// Cierras el bloque
   
}
  
</script>
 </head>
 <body>
  <form name="frm">
   <select name="visible1" onchange="actualiza()">
    <option value="22">Veintidos</option>
    <option value="33">Treinta y tres</option>
    <option value="44">Cuarenta y cuatro</option>
   </select>
   <select name="visible2" onchange="actualiza()">
    <option value="22">Veintidos</option>
    <option value="33">Treinta y tres</option>
    <option value="44">Cuarenta y cuatro</option>
   </select>
   <input type="text" name="oculto1">
   <input type="text" name="oculto2">
  </form>
 </body>
</html> 
Saludos.

Última edición por Kaopectate; 12/01/2003 a las 22:39
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 06:14.