Viernes 8 de Noviembre de 2024, 23:07
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación Web y Scripting
»
JavaScript
(Moderador:
F_Tanori
) »
Porque No Funciona Este Codigo En Ie
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Porque No Funciona Este Codigo En Ie (Leído 2610 veces)
Garfield07
Nuevo Miembro
Mensajes: 4
Porque No Funciona Este Codigo En Ie
«
en:
Lunes 8 de Octubre de 2007, 21:51 »
0
Como puedo hechar andar este codigo en Internet Explorer, funciona bien solo en FireFox, pero como en la oficina donde trabajo la mayoria tiene internet explorer y la verdad no quieren cambiarse de navegador... l
a idea es cargar los datos de una tabla en un ListBox1, y a traves de un boton se puedan agregar el Items seleccionado a un segundo ListBox2 (de este se puedan eliminar los Items)
, el siguiente codigo funciona bien en FireFox, pero no en IE.
Código: Text
<html>
<head>
<style type="text/css">
select {
width: 300px;
height: 100px;
}
</style>
<script type="text/javascript">
function AddToSecondList(){
var fl = document.getElementById('firstlist');
var sl = document.getElementById('secondlist');
for (i = 0; i < fl.options.length; i++){
if(fl.options[i].selected){
sl.add(fl.options[i],null);
}
}
return true;
}
function DeleteSecondListItem(){
var fl = document.getElementById('firstlist');
var sl = document.getElementById('secondlist');
for (i = 0; i < sl.options.length; i++){
if(sl.options[i].selected){
fl.add(sl.options[i],null);
}
}
return true;
}
</script>
</head>
<body>
<?php
function Conectarse()
{
if (!($link=mysql_connect("localhost","root","pollpoly")))
{
echo "Error conectanddo a la base de datos...";
exit();
}
if (!mysql_select_db("correspondencia",$link))
{
echo "Error seleccionando la base de datos...";
exit();
}
return $link;
}
function personalc()
{
$link=Conectarse();
$sql="SELECT Nombre_personal FROM personalcapaseg";
$result=mysql_query($sql, $link);
$i=0;
while ($row=mysql_fetch_row($result))
{
echo "<option value=".$row[$i].">".$row[$i]."</option>\n";
}
}
?>
<form action="none">
<div>
<select id="firstlist" multiple="multiple">
<?php personalc();?>
</select>
<br>
<input type="button" value="Agregar"
onclick="AddToSecondList();" /input>
<input type="button" value="Eliminar"
onclick="DeleteSecondListItem();" /input>
<br>
<select id="secondlist" multiple="multiple">
</select>
</div>
</form>
</body>
</html>
espero me puedan ayudar... de momento muchas gracias....
Tweet
ing_marco
Miembro MUY activo
Mensajes: 263
Re: Porque No Funciona Este Codigo En Ie
«
Respuesta #1 en:
Miércoles 10 de Octubre de 2007, 00:54 »
0
Me parece que la funcion Add, debes de utilizarla de esta forma:
Código: Text
MyList.options.add(opt, index)
segun veo tu lo utilizas de esta forma:
Citar
sl.add(fl.options
,null);
seria cosa de agregarle lo siguente:
Código: Text
sl.options.add(fl.options[i],null);
Espero esta te sea de utilidad.
MARCO DIAZ
Ing_Marco
Bachiller Ing de Sistemas.
UNT
Trujillo-Peru
Garfield07
Nuevo Miembro
Mensajes: 4
Re: Porque No Funciona Este Codigo En Ie
«
Respuesta #2 en:
Miércoles 10 de Octubre de 2007, 16:55 »
0
desafortunadamente no funciono para IE, de todos modos te paso el dato corregido de esta manera...
cambie esta linea (en el metodo agregar):
Citar
sl.add(fl.options
,null);
por esta otra
Código: Text
sl.options[sl.options.length] = new Option(fl.options[i].text, 1);
y para el metodo de eliminar:
Citar
fl.add(sl.options
,null);
por esta otra
Código: Text
sl.options[i] = null;
solo que tengo otro error (o tal vez no sea error
) que con el codigo que tengosolo se puede agregar una sola vez el item seleccionado, ya que al agregar al segundo listbox2 (este item se elimina del listbox1)...
espero me puedas ayudar... (hago la aclaracion que como yo lo tenia era haciendo uso de la tecnologia DOM que no funciona para IE)
de todos modos te agradezco tu respuesta..
saludos...
Altareum
Miembro MUY activo
Mensajes: 327
Re: Porque No Funciona Este Codigo En Ie
«
Respuesta #3 en:
Miércoles 10 de Octubre de 2007, 21:55 »
0
Hola Garfield07....
Intenta utilizar lo siguiente, que es el método básico para agregar nodos en el DOM:
Código: Text
var select = document.getElementById('firstlist');
var newOption = document.createElement('option');
newOption.value=2;
newOption.text='Opcion';
select.appendChild(newOption);
En el caso de que esta línea no funcione en IE:
newOption.text='Opcion';
Pon esto:
Código: Text
newOption.appendChild(document.createNode('Opcion'));
Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
|
Klinka
|
Kiree
|
Avian
|
Garfield07
Nuevo Miembro
Mensajes: 4
Re: Porque No Funciona Este Codigo En Ie
«
Respuesta #4 en:
Miércoles 10 de Octubre de 2007, 22:36 »
0
disculpa mi ignorancia Altareum, donde pongo el codigo que me indicaste, o que cambio para que funcione mi codigo... disculpame, pero apenas me inicio en la programacion de javascritps, php...etc...
antes ya Saludos...
ing_marco
Miembro MUY activo
Mensajes: 263
Re: Porque No Funciona Este Codigo En Ie
«
Respuesta #5 en:
Jueves 11 de Octubre de 2007, 16:13 »
0
Permiteme tratar de responder tu respuesta:
Segun tu codigo y mostado por nuestro amigo Altareum.
El nuevo codigoquedaria de la sigueinte manera, ojo tener presenta la observacion para IE que Altareum hizo presente.
Código: Text
function AddToSecondList(){
var select = document.getElementById('firstlist');
var sl = document.getElementById('secondlist');
for (i = 0; i < fl.options.length; i++){
if(fl.options[i].selected){
var newOption = document.createElement('option');
newOption.value=i;
newOption.text=fl.options[i].text;
sl.appendChild(newOption);
}
}
return true;
}
MARCO DIAZ
Ing_Marco
Bachiller Ing de Sistemas.
UNT
Trujillo-Peru
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación Web y Scripting
»
JavaScript
(Moderador:
F_Tanori
) »
Porque No Funciona Este Codigo En Ie