Foros del Web » Programando para Internet » Javascript »

option select

Estas en el tema de option select en el foro de Javascript en Foros del Web. Hola tengo un problema en la seleccion de un select, ya que lo que pretendo es mandarlo a otra pagina para que me lo inserte ...
  #1 (permalink)  
Antiguo 01/08/2007, 10:28
 
Fecha de Ingreso: marzo-2006
Mensajes: 110
Antigüedad: 18 años, 2 meses
Puntos: 0
option select

Hola tengo un problema en la seleccion de un select, ya que lo que pretendo es mandarlo a otra pagina para que me lo inserte en la base de datos, el problema que presenta es de que me dice que no esta seleccionado nada, y eso es mentira si tengo seleccionado algo, te anexo el codigo.

Con esta fuinsion lo agregas

function agregar_alumno(objet){
//document.getElementById('alumnos').options[0].value+=objet.value;
//document.forms[0].elements['alumnos'].options[0]=new Option(document.forms[0].elements['alumnos'].options[0].text+=objet.value)
//.text+=objet.value;
_ajax_inserta=objetus()
_URLI_="inserta_alumno.php?"
valor=objet.value;
val=valor.split(',');
id_est=document.getElementById('est').value;
var ase=document.getElementsByName('ases');
alert (ase)
aqui es donde tengo el problema
var seleccion=ase.selectedIndex;
alert (seleccion)
if (seleccion!=0){
var valorSeleccionado = ase.options[seleccion].value;
}
alert (valorSeleccionado) //no me selecciona nada
/*num1=0;
for(a=0; elemt=ase.options[a]; a++){
elemt.selected=true;
}*/

document.getElementById('alumnos').options.add(new Option(val[0],val[1]));
_ajax_inserta.open("GET",_URLI_+"val="+val[1]+"&id_es="+id_est,true);

_ajax_inserta.onreadystatechange=function() {
if(_ajax_inserta.readyState==1){
document.getElementById('capa_inserta').innerHTML= "<img src='../images/loadings AJAX/ajax-loader(9).gif'><b style='background-color:#990000;color:#FFFFFF'>Guardando Datos..</b>";
}
else{
if (_ajax_inserta.readyState==4) {

document.getElementById('capa_inserta').innerHTML= _ajax_inserta.responseText;
//document.getElementById('capa_inserta').innerHTML= "<b style='background-color:#0099FF;color:#FFFFFF'>Datos Actualizados !!</b>";
}}

}
//document.getElementById('registros').value+=val[1]+",";
_ajax_inserta.send(null);
return
}

Esta pagina es la que me inserta lo de ajax
este se llama inserta_ alumno
<? //session_start ();
require_once('../Connections/vinc_ulises.php');
echo $mat=$_GET['val'];
echo $est=$_GET['id_es'];

//$asesor=$_GET['ase'];
/*echo $inser_al="insert into pruebas_vinculacion.dbo.alumno_estadia values('$mat', '$est')";
$res_in_al=mssql_query($insert_al) or die ("Error al insertar en la base de datos");*/
?>

Aqui es donde llamas lo de ajax en este select
Se llama ascoge_asesor
<? require_once('../Connections/vinc.php');
header("Content-Type: text/html; charset=iso-8859-1");
?>
<?
$carre=$_GET['carrera_asesor'];
$cons_as="select * from dbaweb.asesor where id_carrera='$carre'";
$res_as=mssql_query($cons_as) or die("No se conecto");
$cont=mssql_num_rows($res_as);
if(!$cont==0){
?>
<select multiple="multiple" name="ases[]" id="objet" size="10" title="Selecciona Asesor"><? while($row2=mssql_fetch_row($res_as)){
list($apell_pat,$apell_mat,$nombres)=split( '[,]',$row2[5].$row2[4].$row2[3]);
?><option value="<? echo $row2[0]; ?>" id="<? echo $row2[2]; ?>"><? echo $apell_pat."&nbsp;".$apell_mat."&nbsp;".$nombres; ?></option><? } ?></select>
<? }else{ ?>
<p style="color:#0099CC;">No hay asesores para estadia</p>
<? } ?>

Espero y me puedan ayudar

Última edición por sando; 01/08/2007 a las 14:11 Razón: Para que sea mas facil de entender el mensaje
  #2 (permalink)  
Antiguo 02/08/2007, 02:40
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Desacuerdo Re: option select

Hola:

En esta línea:
Código:
var ase=document.getElementsByName('ases');
referencias una colección o array, así que el selectedIndex no existe porque no es el atributo de ese array...

De todos modos esa instrucción está (o estaba) mal implementada en explorer porque la colección la hace por el id (como si se pudiera duplicar)

Te recomiendo que en vez de usar ese método, referencies el elemento en base al formulario:
Código:
var ase = document.forms[0]['ases'];
El cero (0) del primer corchete es el índice del formulario... yo prefiero usar el nombre.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 09:35.