Foros del Web » Programando para Internet » Javascript »

Script que funciona en local pero no funciona en Internet

Estas en el tema de Script que funciona en local pero no funciona en Internet en el foro de Javascript en Foros del Web. Hola a todos: Tengo este script que desabilita un checkbox desde un select que me funciona en local pero que no me funciona en Internet ...
  #1 (permalink)  
Antiguo 08/04/2009, 03:59
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 20 años, 10 meses
Puntos: 0
Script que funciona en local pero no funciona en Internet

Hola a todos:
Tengo este script que desabilita un checkbox desde un select que me funciona en local pero que no me funciona en Internet y me devuelve este error:

procesa(document.form1.colorpaspartu.options[document.form1.colorpaspartu.selectedIndex].value);

El script es:
<SCRIPT LANGUAGE="javascript">
function procesa(valor)
{
if(valor != "")
{
document.form1.barniz.disabled = true;
}
else
{
document.form1.barniz.disabled = false;
}
}
</SCRIPT>

y está metido en el siguiente form:
Código:
<form name="form1" id="form1" method="get" action="tallerenmarcado.asp">
                          <td colspan="2" class="alineacionsuperior">
                            <select name="colorpaspartu" class="SELECT" id="colorpaspartu" onChange="procesa(document.form1.colorpaspartu.options[document.form1.colorpaspartu.selectedIndex].value)">
                              <option value="""" selected>Seleccionar el color del Paspartout</option>
                              <%RsPaspartouts.movefirst
                            do while not RsPaspartouts.eof%>
                              <option style="background-color:#<%=RsPaspartouts("colorpaspartout")%>" value="<%=RsPaspartouts("colorpaspartout")%>"><%=RsPaspartouts("referenciapaspartout")%></option>
                              <%referenciapaspartout=RsPaspartouts("referenciapaspartout")
                            RsPaspartouts.movenext
                            loop%>
                            </select>
                          <td width="31%" class="items alineacionsuperior">Ancho del Paspartut 
                                  <input name="CmsAnchoPaspartu" type="text" class="cajadetexto" id="CmsAnchoPaspartu" value="<%=CmsAnchoPaspartu%>" size="6" maxlength="4">
                          <td width="30%" class="items alineacionsuperior"><input type="submit" class="botonesformulario" value="Enmarcar">
                            <input name="fotolamina" type="hidden" id="fotolamina" value="<%=fotolamina%>">
                            <input name="fotolaminaancho" type="hidden" id="fotolaminaancho" value="<%=fotolaminaancho%>">
                            <input name="fotolaminaalto" type="hidden" id="fotolaminaalto" value="<%=fotolaminaalto%>">
                            <input name="fotoliston" type="hidden" id="fotoliston" value="<%=fotoliston%>">
                            <input name="fotoesquina" type="hidden" id="fotoesquina" value="<%=fotoesquina%>">
                            <input name="fotoesquinaancho" type="hidden" id="fotoesquinaancho" value="<%=fotoesquinaancho%>">
                          <tr>
                          <td colspan="4">
                          </td>
                      </tr>
                        <tr>
                          <td width="13%" class="items alineacionsuperior">Cristal Brillo</td>
                          <td width="26%" class="items alineacionsuperior"><input name="cristal" type="radio" id="radio" value="1"></td>
                          <td class="items alineacionsuperior">
                          Cristal Mate
                          <input type="radio" name="cristal" id="radio2" value="0">
                          </td>
                      <td class="items alineacionsuperior">Barniz
                      <input name="barniz" type="checkbox" id="barniz" value="0">
                          </form><tr>
                            <td colspan="4" class="items alineacionsuperior">
                            <%precioproducto=15%>
                            Precio= <%=precioproducto%>
                            <form name="form2" action="session_carrito.asp" method="post" id="form2">
                            <input name="imageField" type="image" src="http://www.forosdelweb.com/images/iconos/comprar.gif" width="204" height="31" border="0">
                            <input name="idp" type="hidden" id="idp" value="<%response.write "LAMENM-" & fotolamina & cristal & barniz & referenciapaspartout & CmsAnchoPaspartu%>">
                            <input name="referenciaproducto" type="hidden" value="<%response.write Request.QueryString("referenciamolduras") & Request.QueryString("ancho") & Request.QueryString("alto")%>">
                            <input name="precioproducto" type="hidden" value="<%=precioproducto%>">
                            <input name="detallepcarro" type="hidden" value="<%response.write "LAMENM-" & CortarNombreFichero(fotolamina) & cristal & barniz & referenciapaspartout & CmsAnchoPaspartu%>">
                            <input type="hidden" name="cantidad" value="1">
                            </form>
A ver si pueden decirme por qué no funciona
Gracias
__________________

Espero haber aprendido algo de tí.
A mi padre.
  #2 (permalink)  
Antiguo 08/04/2009, 04:20
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Script que funciona en local pero no funciona en Internet

No nos has puesto el error....

No se de donde puede venir el error....

La función solo se ejecutará cuando el SELECT cambie por tanto nunca será igual a "" puesto que es la opción previamente seleccionada (solo se ejecutará si antes se selecciona otro paspartu y luego se vuelve a la opción por omisión).

Yo no usaría la cadena vacía como valor, por que no el cero 0, o cualquier otro que no represente ningún paspartu, y luego cambiar la función claro....

<SCRIPT LANGUAGE="javascript">
function procesa(valor)
{
if(valor != "0")
{
document.form1.barniz.disabled = true;
}
else
{
document.form1.barniz.disabled = false;
}
}
</SCRIPT>

<option value="0" selected>


Quim
  #3 (permalink)  
Antiguo 08/04/2009, 05:18
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 20 años, 10 meses
Puntos: 0
Respuesta: Script que funciona en local pero no funciona en Internet

El error es:

procesa(document.form1.colorpaspartu.options[document.form1.colorpaspartu.selectedIndex].value);

Este error lo veo con el firebug

El valor que le paso es un espacio en blanco ("") en asp

Por otro lado ya he probado a poner un valor 0 y tampoco funciona.
__________________

Espero haber aprendido algo de tí.
A mi padre.
  #4 (permalink)  
Antiguo 08/04/2009, 05:25
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Script que funciona en local pero no funciona en Internet

ciberpata, eso así tal cual no es el error. En Firebug debería poner, debajo de "procesa(blablabla)" otra línea donde da el mensaje del error que ocurre algo como "procesa is not defined" o de ese estilo. ¿Podrías mirar si pone algo de ese estilo?
  #5 (permalink)  
Antiguo 08/04/2009, 06:39
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 20 años, 10 meses
Puntos: 0
Respuesta: Script que funciona en local pero no funciona en Internet

Perdon por mi error. El firebug devuelve esto:

document.form1.colorpaspartu is undefined
[IMG]chrome://firebug/content/blank.gif[/IMG] procesa(document.form1.colorpasp...rm1.colorpaspar tu.selectedIndex].value);
__________________

Espero haber aprendido algo de tí.
A mi padre.
  #6 (permalink)  
Antiguo 08/04/2009, 07:01
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Script que funciona en local pero no funciona en Internet

En lugar de referirte a los elementos de ese modo (document.form1.colorpaspartu), utiliza getElementById (document.getElementById("colorpaspartu"))
  #7 (permalink)  
Antiguo 08/04/2009, 07:01
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Script que funciona en local pero no funciona en Internet

??

No se ...

intenta cambiando

document.form1.colorpaspartu

por

document.getElementById('colorpaspartu')


??

El script lo tienes en el mismo documento ?

Elselect queda bien formado....?

No domino mucho asp pero diria que aqui

Código html:
Ver original
  1. <option style="background-color:#<%=RsPaspartouts("colorpaspartout")%>" value="<%=RsPaspartouts("colorpaspartout")%>"><%=RsPaspartouts("referenciapaspartout")%></option>

podrias tener un problema con los delimitadores " / '

Código html:
Ver original
  1. <option style="background-color:#<%=RsPaspartouts('colorpaspartout')%>" value="<%=RsPaspartouts('colorpaspartout')%>"><%=RsPaspartouts("referenciapaspartout")%></option>

??

Quim

venkman te me has adelantado
  #8 (permalink)  
Antiguo 08/04/2009, 10:03
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 20 años, 10 meses
Puntos: 0
Respuesta: Script que funciona en local pero no funciona en Internet

Ya funciona. Gracias por la ayuda. Ese ultimo cambio:

document.getElementById('colorpaspartu')

ha sido fundamental. También lo he tenido que hacer en el script.

Muchisimas gracias a todos por el arreglo. No saben cuanto se lo agradezco
__________________

Espero haber aprendido algo de tí.
A mi padre.
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 00:52.