Foros del Web » Programando para Internet » Javascript »

Problema con onchange

Estas en el tema de Problema con onchange en el foro de Javascript en Foros del Web. Hola muy buenos dias... Espero q alguien pueda ayudarme a solucionar este problemita Lo que pasa es q tengo el siguiente codigo: Cita: <table style="border: ...
  #1 (permalink)  
Antiguo 04/07/2008, 09:58
Avatar de angeliknlopez  
Fecha de Ingreso: noviembre-2007
Ubicación: Manizales
Mensajes: 86
Antigüedad: 16 años, 5 meses
Puntos: 0
Pregunta Problema con onchange

Hola muy buenos dias...

Espero q alguien pueda ayudarme a solucionar este problemita

Lo que pasa es q tengo el siguiente codigo:
Cita:
<table style="border: 1px solid black;" bgcolor=#F5F5F5 cellspacing=10 width=100%>
<tr><td><b>Proyecto: </b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
<select onchange="return function(o){document.getElementById('ProyMontoValo r').value=o.options[o.selectedIndex].value;return false;}(this);" name="A_GMonto">
<option value=0>Seleccione un Proyecto...</option>
<?php
$proy = mysql_query("SELECT * FROM proymonto") or die("Error al seleccionar el Proyecto");
while($f = mysql_fetch_array($proy)) {
echo "<option value=\"$f[ProyMontoValor]\">";
echo urldecode($f['ProyMontoProy']);
echo "</option>";
}
mysql_free_result($proy);

?>
</select>
</td></tr>
<tr><td><b>Valor del Monto ($): </b>&nbsp;
<input id="ProyMontoValor" type=text name="A_GMonto" readonly="readonly" size=10></td></tr>
y con esto, ps saco el valor del proyecto... pero el inconveniente q tengo.. es que no me esta guardando el nombre del proyecto.
Entonces, la pregunta q yo tengo es que si en la linea
echo "<option value=\"$f[ProyMontoValor]\">";
puedo colocar dos valores, es decir \"$f[ProyMontoValor]\" y \"$f[ProyMontoProy]\" en el mismo option?????
para poder sacar un
<input id="ProyMontoProy" type=text name="A_GProyecto" readonly="readonly" size=35>
que me saq el nombre del proyecto.. y en caso de que se pueda.. me podrian explicar si el name del select se podria entonces usar en los dos input???

Espero haberme hecho entender..
Muchas gracias ... por sus oportes

Angie
__________________
ANGELICA MARIA NIETO LOPEZ
Administradora de Sistemas Informáticos
Universidad Nacional de Colombia
Sede Manizales
  #2 (permalink)  
Antiguo 04/07/2008, 10:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema con onchange

Hola angelinknlopez,

Lo que puedes hacer es lo siguiente:
Código PHP:
echo "<option value=\"$f[ProyMontoValor]||$f[ProyMontoProy]\">"
Entonces en tu javascript:
Código:
<select onchange="return function(o){document.getElementById('ProyMontoValor').value = o.options[o.selectedIndex].value.split("||")[1];return false;}(this);" name="A_GMonto">
Saludos.

Tema trasladado a Javascript.
  #3 (permalink)  
Antiguo 04/07/2008, 10:50
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 16 años, 5 meses
Puntos: 14
Respuesta: Problema con onchange

Hola Angelica
El atributo name puede ser el mismo para mas de un elemento del DOM.

Código PHP:
<table style="border: 1px solid black;" bgcolor=#F5F5F5 cellspacing=10 width=100%>
<tr><td><b>Proyecto: </b>
<select onchange="document.getElementById('ProyMontoValor').value=
document.getElementById('miSelect').options[document.getElementById('miSelect').selectedIndex].value;"
document.getElementById('ProyNombrer').value=
document.getElementById('miSelect').options[document.getElementById('miSelect').selectedIndex].text;"  name="A_GMonto" id='miSelect'>
<option value=0>Seleccione un Proyecto...</option>
<?php
$proy 
mysql_query("SELECT * FROM proymonto") or die("Error al seleccionar el Proyecto");
while(
$f mysql_fetch_array($proy)) {
echo 
"<option value=\"$f[ProyMontoValor]\">";
echo 
urldecode($f['ProyMontoProy']);
echo 
"</option>";
}
mysql_free_result($proy);

?>
</select>
</td></tr>
<tr><td><b>Valor del Monto ($): </b>&nbsp;
<input id="ProyNombre" type=text name="A_GMonto" readonly="readonly" size=10>
<input id="ProyMontoValor" type=text name="A_GMonto" readonly="readonly" size=10></td></tr>
trata con esto a ver
__________________
My path is lit by my own fire, I only go where I desire
  #4 (permalink)  
Antiguo 04/07/2008, 10:56
Avatar de angeliknlopez  
Fecha de Ingreso: noviembre-2007
Ubicación: Manizales
Mensajes: 86
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Problema con onchange

Cita:
Iniciado por foreverOdd Ver Mensaje
Hola Angelica
El atributo name puede ser el mismo para mas de un elemento del DOM.

Código PHP:
<table style="border: 1px solid black;" bgcolor=#F5F5F5 cellspacing=10 width=100%>
<tr><td><b>Proyecto: </b>
<select onchange="document.getElementById('ProyMontoValor').value=
document.getElementById('miSelect').options[document.getElementById('miSelect').selectedIndex].value;"
document.getElementById('ProyNombrer').value=
document.getElementById('miSelect').options[document.getElementById('miSelect').selectedIndex].text;"  name="A_GMonto" id='miSelect'>
<option value=0>Seleccione un Proyecto...</option>
<?php
$proy 
mysql_query("SELECT * FROM proymonto") or die("Error al seleccionar el Proyecto");
while(
$f mysql_fetch_array($proy)) {
echo 
"<option value=\"$f[ProyMontoValor]\">";
echo 
urldecode($f['ProyMontoProy']);
echo 
"</option>";
}
mysql_free_result($proy);

?>
</select>
</td></tr>
<tr><td><b>Valor del Monto ($): </b>&nbsp;
<input id="ProyNombre" type=text name="A_GMonto" readonly="readonly" size=10>
<input id="ProyMontoValor" type=text name="A_GMonto" readonly="readonly" size=10></td></tr>
trata con esto a ver
Muchas gracias, voy a ensayarlo...

Angie
__________________
ANGELICA MARIA NIETO LOPEZ
Administradora de Sistemas Informáticos
Universidad Nacional de Colombia
Sede Manizales
  #5 (permalink)  
Antiguo 04/07/2008, 11:11
Avatar de angeliknlopez  
Fecha de Ingreso: noviembre-2007
Ubicación: Manizales
Mensajes: 86
Antigüedad: 16 años, 5 meses
Puntos: 0
Pregunta Respuesta: Problema con onchange

Cita:
Iniciado por GatorV Ver Mensaje
Hola angelinknlopez,

Lo que puedes hacer es lo siguiente:
Código PHP:
echo "<option value=\"$f[ProyMontoValor]||$f[ProyMontoProy]\">"
Entonces en tu javascript:
Código:
<select onchange="return function(o){document.getElementById('ProyMontoValor').value = o.options[o.selectedIndex].value.split("||")[1];return false;}(this);" name="A_GMonto">
.
Y entonces GatorV..
como colocaria los input??
ps el del valor del nombre lo tendria asi:
Cita:
<input id="ProyMontoValor" type=text name="A_GMonto" readonly="readonly" size=10>
pero el del nombre del proyecto??

Muchas gracias

Angie
__________________
ANGELICA MARIA NIETO LOPEZ
Administradora de Sistemas Informáticos
Universidad Nacional de Colombia
Sede Manizales

Última edición por angeliknlopez; 04/07/2008 a las 13:42 Razón: Para q no quede tan atras mi mensaje
  #6 (permalink)  
Antiguo 04/07/2008, 13:44
Avatar de angeliknlopez  
Fecha de Ingreso: noviembre-2007
Ubicación: Manizales
Mensajes: 86
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Problema con onchange

GatorV y en esta linea:
Cita:
<select onchange="return function(o){document.getElementById('ProyMontoValo r').value = o.options[o.selectedIndex].value.split("||")[1];return false;}(this);" name="A_GMonto">
No es necesario, mencionar el nombre del proyecto????

Gracias.
__________________
ANGELICA MARIA NIETO LOPEZ
Administradora de Sistemas Informáticos
Universidad Nacional de Colombia
Sede Manizales
  #7 (permalink)  
Antiguo 04/07/2008, 13:58
Avatar de angeliknlopez  
Fecha de Ingreso: noviembre-2007
Ubicación: Manizales
Mensajes: 86
Antigüedad: 16 años, 5 meses
Puntos: 0
De acuerdo Respuesta: Problema con onchange

Cita:
Iniciado por foreverOdd Ver Mensaje
Hola Angelica
El atributo name puede ser el mismo para mas de un elemento del DOM.

Código PHP:
<table style="border: 1px solid black;" bgcolor=#F5F5F5 cellspacing=10 width=100%>
<tr><td><b>Proyecto: </b>
<select onchange="document.getElementById('ProyMontoValor').value=
document.getElementById('miSelect').options[document.getElementById('miSelect').selectedIndex].value;"
document.getElementById('ProyNombrer').value=
document.getElementById('miSelect').options[document.getElementById('miSelect').selectedIndex].text;"  name="A_GMonto" id='miSelect'>
<option value=0>Seleccione un Proyecto...</option>
<?php
$proy 
mysql_query("SELECT * FROM proymonto") or die("Error al seleccionar el Proyecto");
while(
$f mysql_fetch_array($proy)) {
echo 
"<option value=\"$f[ProyMontoValor]\">";
echo 
urldecode($f['ProyMontoProy']);
echo 
"</option>";
}
mysql_free_result($proy);

?>
</select>
</td></tr>
<tr><td><b>Valor del Monto ($): </b>&nbsp;
<input id="ProyNombre" type=text name="A_GMonto" readonly="readonly" size=10>
<input id="ProyMontoValor" type=text name="A_GMonto" readonly="readonly" size=10></td></tr>
trata con esto a ver
Hola foreverOdd. muchas gracias...

Como te parece q trate con tu codigo... y ya casito :P
en los dos input sale el nombre del proyecto.. ahora lo q esta perdido es el valor del monto :(

Espero q me puedas seguir ayudando.. porq la verdad no entiendo nada de lo q esta en el onchange.

Mil Gracias

Angie
__________________
ANGELICA MARIA NIETO LOPEZ
Administradora de Sistemas Informáticos
Universidad Nacional de Colombia
Sede Manizales
  #8 (permalink)  
Antiguo 04/07/2008, 15:10
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 16 años, 5 meses
Puntos: 14
Respuesta: Problema con onchange

pon esto en el HEAD

Código PHP:
<script>
function 
setValores(){

document.getElementById('ProyMontoValor').value=document.getElementById('miSelect').options[document.getElementById('miSelect').selectedIndex].value;
//esta linea asigna el value de la opcion del combo al text con id='ProyMontoValor'
document.getElementById('ProyNombre').value=document.getElementById('miSelect').options[document.getElementById('miSelect').selectedIndex].text;
//esta linea asigna el text de la opcion del combo al text con id='ProyNombre'
}
</script> 
el resto seria:

Código PHP:

<table style="border: 1px solid black;" bgcolor=#F5F5F5 cellspacing=10 width=100%>
<tr><td><b>Proyecto: </b>
<select onchange="setValores()" name="A_GMonto" id='miSelect'>
<option value=0>Seleccione un Proyecto...</option>
<?php
$proy 
mysql_query("SELECT * FROM proymonto") or die("Error al seleccionar el Proyecto");
while(
$f mysql_fetch_array($proy)) {
echo 
"<option value=ACA VALOR DEL PROYECTO>";
echo 
ACA NOMBRE DE PROYECTO
echo "</option>";
}
mysql_free_result($proy);

?>
</select>
</td></tr>
<tr><td><b>Valor del Monto ($): </b>&nbsp;
<input id="ProyNombre" type=text name="A_GMonto" readonly="readonly" size=10>
<input id="ProyMontoValor" type=text name="A_GMonto" readonly="readonly" size=10></td></tr>
Saludos
__________________
My path is lit by my own fire, I only go where I desire
  #9 (permalink)  
Antiguo 04/07/2008, 15:22
Avatar de angeliknlopez  
Fecha de Ingreso: noviembre-2007
Ubicación: Manizales
Mensajes: 86
Antigüedad: 16 años, 5 meses
Puntos: 0
De acuerdo Respuesta: Problema con onchange

Cita:
Iniciado por foreverOdd Ver Mensaje
pon esto en el HEAD

Código PHP:
<script>
function 
setValores(){

document.getElementById('ProyMontoValor').value=document.getElementById('miSelect').options[document.getElementById('miSelect').selectedIndex].value;
//esta linea asigna el value de la opcion del combo al text con id='ProyMontoValor'
document.getElementById('ProyNombre').value=document.getElementById('miSelect').options[document.getElementById('miSelect').selectedIndex].text;
//esta linea asigna el text de la opcion del combo al text con id='ProyNombre'
}
</script> 
el resto seria:

Código PHP:

<table style="border: 1px solid black;" bgcolor=#F5F5F5 cellspacing=10 width=100%>
<tr><td><b>Proyecto: </b>
<select onchange="setValores()" name="A_GMonto" id='miSelect'>
<option value=0>Seleccione un Proyecto...</option>
<?php
$proy 
mysql_query("SELECT * FROM proymonto") or die("Error al seleccionar el Proyecto");
while(
$f mysql_fetch_array($proy)) {
echo 
"<option value=ACA VALOR DEL PROYECTO>";
echo 
ACA NOMBRE DE PROYECTO
echo "</option>";
}
mysql_free_result($proy);

?>
</select>
</td></tr>
<tr><td><b>Valor del Monto ($): </b>&nbsp;
<input id="ProyNombre" type=text name="A_GMonto" readonly="readonly" size=10>
<input id="ProyMontoValor" type=text name="A_GMonto" readonly="readonly" size=10></td></tr>
Saludos
Hayyyyyyyyyyy que dichaaaaa.. me funcionooo-- muchas muchas gracias
muacc... un pico de agradecimiento :D

Que tengas un excelente dia

Angie
__________________
ANGELICA MARIA NIETO LOPEZ
Administradora de Sistemas Informáticos
Universidad Nacional de Colombia
Sede Manizales
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 11:16.