Foros del Web » Programando para Internet » Javascript »

Problema de Browsers

Estas en el tema de Problema de Browsers en el foro de Javascript en Foros del Web. Tengo un problema, hice una aplicación probando todo sobre explorer, una vez terminada la probé en Mozilla y Netscape y no funciona. Despues de revisarla ...
  #1 (permalink)  
Antiguo 28/03/2005, 11:52
 
Fecha de Ingreso: marzo-2005
Mensajes: 5
Antigüedad: 19 años, 1 mes
Puntos: 0
Problema de Browsers

Tengo un problema, hice una aplicación probando todo sobre explorer, una vez terminada la probé en Mozilla y Netscape y no funciona.
Despues de revisarla un rato largo me vi que con
document.frm.campo.value = 'aaaaaaa';
no me esta asignado ese valor.

Alguien me puede dar una mano con este problema de browsers?
  #2 (permalink)  
Antiguo 28/03/2005, 12:18
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola facusierra. Bienvenido al foro.

¿Te da algún error o simplemente no asigna el valor? En cualquier caso si poner el formulario que estás usando será más fácil ayudarte.

Saludos,
  #3 (permalink)  
Antiguo 28/03/2005, 12:37
 
Fecha de Ingreso: marzo-2005
Mensajes: 5
Antigüedad: 19 años, 1 mes
Puntos: 0
Gracias, por la bienvenida!
Paso a comentarte el problema, tengo en el ASP 2 tablas html (TablaUbicacion y TablaBarrio) que cambian su texto por combos cuando el usuario le da click a una imagen. Para mantener este estado (que se pierde en Mozilla y Netscape) existe un input hidden.
Una vez que diste click aparece el combo (Localidad) que se llena mediante un SP que se ejecuta.
Una vez que seleccionas un elemento del combo automaticamente se submitea el form y se ejecuta otro SP que trae los datos solicitados (esto no esta funcionando en Mozilla o Netscape, si en Explorer).
Como veras no es sencillo de explicar y no se si el codigo será claro ya que todo el html y el asp estan embebidos en el javascript.

Este es el codigo....



function changeContentBarrio()
{
var x1=document.getElementById('TablaUbicacion').rows;
var x2=document.getElementById('TablaBarrio').rows;
var y1=x1[0].cells;
var y2=x2[0].cells;
var txtstr;
var Provincia;

txtstr = "&nbsp;<select id='cmbLoc2' name='Localidad' class='combo' onchange='javascript:submitear(4);'>";
<%
Localidad = Request.Form("Localidad")

If Localidad = "" Then%>
txtstr = txtstr + "<option value=''>Seleccione un barrio</option>";
<%Else
BuscarDatos = True
End If

Dim cn
Set cn = server.createobject("Adodb.connection")
cn.open "Provider=SQLOLEDB; Data Source=....; Initial Catalog=....; User Id=.....; Password=.....;"

Dim cmd
Set cmd = server.CreateObject("ADODB.Command")
cmd.CommandType = &H0004
cmd.CommandText = "Tomar_Nro"
set cmd.ActiveConnection = cn

cmd.Parameters.Append cmd.createparameter("@Provincia", 200, &H0001, 4, "CF")

Dim rs
Set rs = cmd.execute

Do While not rs.Eof%>
txtstr = txtstr + "<option value='<%=rs.Fields(0)%>' <%if Localidad = rs.Fields(0) Then Response.write("selected") End if%>><%=rs.Fields(0)%></option>";
<%rs.MoveNext
Loop
Set rs = Nothing
barrio = True
%>
txtstr = txtstr + "document.frmPagina.getElementById('cmbLoc2').valu e = '<%=Localidad%>'";
txtstr = txtstr + "</select>";
txtstr = txtstr + "<input type='hidden' name='marcado' value='2'>";

y1[0].innerHTML="Ingrese nro";
y2[0].innerHTML=txtstr;
}


Muchas Gracias.
  #4 (permalink)  
Antiguo 28/03/2005, 13:10
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Por qué no visitas tu página con el navegador, le das a ver código fuente y lo que salga nos lo pegas aquí? Así vemos dónde falla el JS.

En cualquier caso te diré que la forma óptima de tratar los values de los formularios es la siguiente:

document.forms['name_del_formulario']['name_del_campo'].value='aaaaaa';

y no:

document.frm.campo.value = 'aaaaaaa';(en este ejemplo sería:
document.forms['frm']['campo'].value='aaaaaa';
siempre y cuando frm y campo sean los names (y no solo los id)).

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 28/03/2005, 13:30
 
Fecha de Ingreso: marzo-2005
Mensajes: 5
Antigüedad: 19 años, 1 mes
Puntos: 0
Acabo de probar esto ultimo y sigue sin funcionar.
Aca les mando lo que devuelve el Firefox

function changeContentBarrio()
{
var x1=document.getElementById('TablaUbicacion').rows;
var x2=document.getElementById('TablaBarrio').rows;
var y1=x1[0].cells;
var y2=x2[0].cells;
var txtstr;
var Provincia;

txtstr = "&nbsp;<select id='cmbLoc2' name='Localidad' class='combo' onchange='javascript:submitear(4);'>";

txtstr = txtstr + "<option value=''>Seleccione un barrio</option>";

txtstr = txtstr + "<option value='Almagro' >Almagro</option>";
.........
txtstr = txtstr + "<option value='Villa Urquiza' >Villa Urquiza</option>";


txtstr = txtstr + "document.forms['frmPag']['Localidad'].value= ''";
txtstr = txtstr + "</select>";
txtstr = txtstr + "<input type='hidden' name='marcado' value='2'>";

y1[0].innerHTML="Ingrese Nro";
y2[0].innerHTML=txtstr;
}


Aca va lo que devuelve el explorer:

function changeContentBarrio()
{
var x1=document.getElementById('TablaUbicacion').rows;
var x2=document.getElementById('TablaBarrio').rows;
var y1=x1[0].cells;
var y2=x2[0].cells;
var txtstr;
var Provincia;

txtstr = "&nbsp;<select id='cmbLoc2' name='Localidad' class='combo' onchange='javascript:submitear(4);'>";

txtstr = txtstr + "<option value='Almagro' >Almagro</option>";
....................
txtstr = txtstr + "<option value='Villa Urquiza' selected>Villa Urquiza</option>";


txtstr = txtstr + "document.forms['frmPag']['Localidad'].value= 'Villa Urquiza'";
txtstr = txtstr + "</select>";
txtstr = txtstr + "<input type='hidden' name='marcado' value='2'>";

y1[0].innerHTML="Ingrese Nro";
y2[0].innerHTML=txtstr;
}

Lo que me parece que esta pasando es que no asigna el valor seleccionado entonces cuando submitea pasa esto que se ve en lo que adjunte, Localidad no tiene valor.
Pienso que lo que no esta funcionando bien es el document.frmPag.Localidad.value = "aaaaa"; que se hace antes del submit

Muchas gracias
  #6 (permalink)  
Antiguo 29/03/2005, 08:27
 
Fecha de Ingreso: marzo-2005
Mensajes: 5
Antigüedad: 19 años, 1 mes
Puntos: 0
Por lo que estuve averiguando es un problema del DOM
Alguien tiene idea como hacer esto para que funcione en Netscape?

document.form.elemento_select.value = 'algun_valor';

Gracias
  #7 (permalink)  
Antiguo 29/03/2005, 19:44
Avatar de Txukie  
Fecha de Ingreso: junio-2004
Ubicación: Al Oeste del Nervion
Mensajes: 47
Antigüedad: 19 años, 10 meses
Puntos: 0
Dale un id al select luego para darle el valor usa el codigo
var variable_select = document.getElementById('iddelselect');
variable_select.value = 'valor_deseado';
Espero que funcione!
__________________
LADRONES
  #8 (permalink)  
Antiguo 30/03/2005, 07:30
 
Fecha de Ingreso: marzo-2005
Mensajes: 5
Antigüedad: 19 años, 1 mes
Puntos: 0
Acabo de probar esta ultima opción y no funcionó.
Igualmente yo ya había probado con getElementById y tampoco.
Gracias igual Txukie.
Si alguien tiene otra posible solución les agradecería.
Saludos
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:29.