Foros del Web » Programando para Internet » PHP »

Obtener el valor de un select name con onchange="submit"

Estas en el tema de Obtener el valor de un select name con onchange="submit" en el foro de PHP en Foros del Web. Buenas Tardes: Estoy desarrollando una pagina en la cual tengo 2 combos en los cuales el segundo depende del primero, me dijeron que puedo tomar ...
  #1 (permalink)  
Antiguo 09/07/2010, 13:14
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años
Puntos: 3
Obtener el valor de un select name con onchange="submit"

Buenas Tardes:
Estoy desarrollando una pagina en la cual tengo 2 combos en los cuales el segundo depende del primero, me dijeron que puedo tomar el resultado del primero sin tener que hacerlo por POST, sino por javascript a PHP.
El codigo es:

<select name="idrubros" id="idrubros" onChange="submit">
<?php
$obj_Rubro=new sQuery();
$resrub=$obj_Rubro->executeQuery("select idrubro,nombre from rubros order by orden,nombre");
while($rowrub=mysql_fetch_array($resrub))
{
if ($rowrub['idrubros']==$idrubro)
{
echo "<option value=".$rowrub['idrubro']." selected='selected'>".$rowrub['nombre']."</option>";
}
else
{
echo "<option value=".$rowrub['idrubro'].">".$rowrub['nombre']."</option>";
}
}
?>
</select>

y el segundo depende del primero, necesitaria saber que selecciono en el primero en $quesubrubro para filtrar la segunda select:

<?php
$obj_Subrubro=new sQuery();
$ressub=$obj_Subrubro->executeQuery("select idsubrubro,nombre from subrubros order by orden,nombre where idrubro=0 or [U]idrubro=".$querubro);
while($rowsub=mysql_fetch_array($ressub))
{
if ($rowsub['idsubrubro']==$idsubrubro)
{
echo "<option value=".$rowsub['idsubrubro']." selected='selected'>".$rowsub['nombre']."</option>";
}
else
{
echo "<option value=".$rowsub['idsubrubro'].">".$rowsub['nombre']."</option>";
}
}
?>
</select>

Le agradecería a alguien que pueda ayudarme
  #2 (permalink)  
Antiguo 09/07/2010, 16:46
Avatar de minkweb  
Fecha de Ingreso: septiembre-2005
Mensajes: 443
Antigüedad: 18 años, 7 meses
Puntos: 14
Respuesta: Obtener el valor de un select name con onchange="submit"

Eso se hace con Ajax, por cierto, este tema deberian de trasladarlo..

Saludos
__________________
Juegos
Juegos iphone
  #3 (permalink)  
Antiguo 09/07/2010, 18:02
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: Obtener el valor de un select name con onchange="submit"

Combos dependientes seria:

Aca respondi algo, quiza te oriente:
http://www.forosdelweb.com/f77/combo...script-819668/

Aqui otra:
http://www.forosdelweb.com/f18/formu...0/#post3412925

Para esta quiza necesites un archivo sql con todo los paises, algo asi:
Y casi que ya este trozo de codigo te serviria
Te faltaria crearte la tabla "paises_world" con dos campos paisID, paisNAME

Código PHP:

INSERT INTO paises_world 
(paisIDpaisNAMEVALUES
(1'Afganistán'),
(
2'Albania'),
(
3'Alemania'),
(
4'American Samoa'),
(
5'Andorra'),
(
6'Angola'),
(
7'Anguila'),
(
8'Antigua and Barbuda'),
(
9'Antillas Holandesas'),
(
10'Antártida'),
(
11'Arabia Saudita'),
(
12'Argelia'),
(
13'Argentina'),
(
14'Armenia'),
(
15'Aruba'),
(
17'Australia'),
(
18'Austria'),
(
19'Azerbaijan'),
(
20'Bahamas'),
(
21'Bahrein'),
(
22'Bangladesh'),
(
23'Barbados'),
(
24'Belice'),
(
25'Benin'),
(
26'Bermuda'),
(
27'Bielorrusia'),
(
28'Bolivia'),
(
29'Bosnia y Herzegovina'),
(
30'Botsuana'),
(
31'Bouvet Island'),
(
32'Brasil'),
(
33'British Indian Ocean Territory'),
(
34'Brunei Darussalam'); 

Bueno espero que te oriente algo....
  #4 (permalink)  
Antiguo 10/07/2010, 15:01
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años
Puntos: 3
Respuesta: Obtener el valor de un select name con onchange="submit"

Amigo Muchas Gracias por tu ayuda, estoy averiguando si hay alguna posibilidad de hacerlo por javascript, alguien me dijo alguna vez que se puede y es mucho mas simple, yo las tablas de MYSQL ya las tengo cargadas, el unico problema que tengo ahora es que no me esta cargando los subrubros.
Por las dudas les paso el codigo:

<?php
include("..\includes\procs.php");
include_once("..\includes\clases.php");
$obj_Rubro=new sQuery();
$obj_Subrubro=new sQuery();
?>

<script language="JavaScript">
function refresco(){
<?php
$querubro="<script>document.write(document.form1.i drubro.value)</script>";
$quesubrubro="<script>document.write(document.form 1.idsubrubro.value)</script>";
$resrub=$obj_Rubro->executeQuery("select idrubro,nombre from rubros order by orden,nombre");
$ressub=$obj_Subrubro->executeQuery("select idsubrubro,nombre from subrubros where idrubro in(0,'$querubro') order by orden,nombre");
?>
}
</script>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<link href="../css/stylo0.css" rel="stylesheet" type="text/css" />
</head>
<body>

<form name="forml">
<fieldset class="rowb">
<legend>Seleccione el Articulo</legend>

<p>
Rubro:
<select name="idrubro" onChange="refresco()">
<?php
while($rowrub=mysql_fetch_array($resrub))
{echo "<option value=".$rowrub['idrubro'].($rowrub['idrubro']==$querubro ? " selected='selected'> " : ">").$rowrub['nombre']."</option>";}
?>
</select>
<br>
SubRubro:
<select name="idsubrubro" onChange="refresco()">
<?php
while($rowsub=mysql_fetch_array($ressub))
{echo "<option value=".$rowsub['idsubrubro'].($rowsub['idsubrubro']==$quesubrubro ? " selected='selected'> " : ">").$rowsub['nombre']."</option>";}
?>
</select>
<br>
</p>
<p>
<label></label>
<br>
</p>
</fieldset>

</form>
</body>
</html>

Con el onChange ejecuto una funcion javascript en la cual pretendo refrescar los datos de la pantalla dependiendo de lo que ingresaron.
Creo que estamos muy cerca pero no me doy cuenta que pasa
Les agradecerìa si me pueden ayudar
  #5 (permalink)  
Antiguo 10/07/2010, 17:39
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: Obtener el valor de un select name con onchange="submit"

No se si fue el editor del foro que te separo unas letras paro esto estaba separado:

Código PHP:

document
.write(document.form1.idsubrubro.value)
document.write(document.form1.idsubrubro.value)

//asi estaba        //por aqui
document.write(document.form1.i dsubrubro.value)
document.write(document.form 1.idsubrubro.value)

//y aqui:
//haces esto: "order by orden,nombre" no seria "order by orden"
//o  "order by nombre" ...ordenar por uno de los dos (no por los dos)
select idrubro,nombre from rubros order by orden,nombre 


Y mira tu primer select
Fijate como queda seleccionado el option nombre
Crea un archivo php para probarlo:
Código PHP:

<?php
//ESTOS VALORES SON SOLO PARA QUE EL SELECT FUNCIONE
$rowrub['idrubro'] = "Valor";
 
//SIMPLEMENTE SOLO SI COMENTAS ESTA LINEA 
//EL SELECTED SERA OTRO
$querubro "Valor";
                           
$rowrub['nombre'] = "Nombre";
?>
<form name="forml">
<select name="idrubro" onChange="refresco()"> 
<option value="Otro Option">Otro Option</option>
<?php
//se vera seleccionado este FIJATE COMO ESTA ECHO Y COMPARALO CON EL TUYO
echo "<option 
     "
.(($rowrub['idrubro']==$querubro) ? "selected='selected'" "").
     value="
.$rowrub['idrubro'].">"
     
.$rowrub['nombre'].
     
"</option>";
?>
</select>
</form>
Bueno espero que te ayude algo.

Última edición por wiwi74; 10/07/2010 a las 17:46

Etiquetas: select
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 14:15.