Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema simple: causa de que algunos script no andan?

Estas en el tema de Problema simple: causa de que algunos script no andan? en el foro de Frameworks JS en Foros del Web. Bueno compañeros del foro me encuentro con un problema muy curioso el cual no puedo resolver. Tengo una pagina index.php con el siguiente contenido: @import ...
  #1 (permalink)  
Antiguo 22/05/2012, 13:09
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Pregunta Problema simple: causa de que algunos script no andan?

Bueno compañeros del foro me encuentro con un problema muy curioso el cual no puedo resolver.
Tengo una pagina index.php con el siguiente contenido:

Código PHP:
Ver original
  1. <head>
  2. <script type="text/javascript" src="jquery.js"></script>
  3.         <script type="text/javascript" src="script.js"></script>
  4.         <script type="text/javascript">
  5.         var myform=new formtowizard({
  6.             formid: 'feedbackform',
  7.             persistsection: true,
  8.             revealfx: ['slide', 500]
  9.         })
  10. </script>
  11. </head>
  12. <body>
  13. <a href="javascript:cargar_datos('formujava.php')" class="active">Mostrar</a>
  14. <div id="contenido"></div>
  15. </body>
es mas extenso pero solo muestro las lineas de interes para el problema.

la funcion cargar_datos es la siguiente:

Código Javascript:
Ver original
  1. function cargar_datos(url) {
  2.     var id_contenedor = 'contenido';
  3.     var pagina_requerida = false
  4.     if (window.XMLHttpRequest) {
  5.     pagina_requerida = new XMLHttpRequest()
  6.     }
  7.     else if (window.ActiveXObject){
  8.         try {
  9.         pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP")
  10.         }
  11.         catch (e){
  12.             try{
  13.             pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP")
  14.             }
  15.             catch (e){}
  16.         }
  17.     }
  18.     else
  19.     return false
  20.     pagina_requerida.onreadystatechange=function(){
  21.         cargarpagina(pagina_requerida, id_contenedor)
  22.     }
  23.     pagina_requerida.open('GET', url, true)
  24.     pagina_requerida.send(null)
  25. }
  26. function cargarpagina(pagina_requerida, id_contenedor){            
  27.     if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1)){
  28.     document.getElementById(id_contenedor).innerHTML=pagina_requerida.responseText}
  29.     else {
  30.     document.getElementById(id_contenedor).innerHTML='<br><br><br><br><center><img src="images/loading.gif" width="220px"><br><b>Cargando Datos</b></center>'}
  31. }

hasta aca todo bien la funcion anda perfecto, mi problema es el siguiente:

Si establesco un formulario animado por java dentro el div id="contenedor" se ve perfecto y funciona a la perfeccion, pero si este mismo codigo (textual lo que esta dentro del div y solo eso) lo pego dentro de formujava.php los ecript al ser cargados no andan, se muestra bien el formulario pero no esta animado.
para complicar mas las cosas uso script adicionales en el formulario QUE SI FUNCIONAN BIEN LUEGO DE CARGAR EL DIV CON LA FUNCION!!!
es decir unos script si andan y otros no
este es el formulario en cuestion:
Código HTML:
Ver original
  1. <form id="feedbackform" action="javascript:void(null);" onsubmit="enviarprofesor();">
  2.         <fieldset class="sectionwrap">
  3.         <legend>Informacion Del Alumno</legend>
  4.         <table Class="tabladatos2">
  5.             <tr><td colspan="2" Class="tablatitulo" height="10px"></td></tr>           
  6.             <tr><td>ID Alumno:</td><td><input type="text" name="info1" ID="info1" onKeyDown="textCounter(this,'barrainfo1',9)" onKeyUp="textCounter(this,'barrainfo1',9)" onFocus="textCounter(this,'barrainfo1',9)" value="$datos[info1]" size="12" /><div id="barrainfo1" class="progress"></div></td></tr>          
  7.             <tr><td colspan="2"><center><img src="images/hr.png" width="500px"></center></td></tr>
  8.             <tr><td>Nombre Completo:</td><td><input type="text" name="info2" ID="info2" onKeyDown="textCounter(this,'barrainfo2',26)" onKeyUp="textCounter(this,'barrainfo2',26)" onFocus="textCounter(this,'barrainfo2',26)" value="$datos[info2]" size="29" /><div id="barrainfo2" class="progress"></div></td></tr>         
  9.             <tr><td colspan="2"><center><img src="images/hr.png" width="500px"></center></td></tr>
  10.             <tr><td>Telefono:</td><td><input type="text" name="info3" ID="info3" onKeyDown="textCounter(this,'barrainfo3',26)" onKeyUp="textCounter(this,'barrainfo3',26)" onFocus="textCounter(this,'barrainfo3',26)" value="$datos[info3]" size="28" /><div id="barrainfo3" class="progress"></div></td></tr>        
  11.             <tr><td colspan="2"><center><img src="images/hr.png" width="500px"></center></td></tr>
  12.             <tr><td>Edad:</td><td><input type="text" name="info4" ID="info4" onKeyDown="textCounter(this,'barrainfo4',3)" onKeyUp="textCounter(this,'barrainfo4',3)" onFocus="textCounter(this,'barrainfo4',3)" value="$datos[info4]" size="6" /><div id="barrainfo4" class="progress"></div> </td></tr>           
  13.             <tr><td colspan="2"><center><img src="images/hr.png" width="500px"></center></td></tr>
  14.             <tr><td>Inscripcion:</td><td><input type="text" name="info5" ID="info5" onKeyDown="textCounter(this,'barrainfo5',8)" onKeyUp="textCounter(this,'barrainfo5',8)" onFocus="textCounter(this,'barrainfo5',8)" value="$datos[info5]" size="11" /> <div id="barrainfo5" class="progress"></div></td></tr>           
  15.             <tr><td colspan="2"><center><img src="images/hr.png" width="500px"></center></td></tr>         
  16.             <tr><td>Pais:</td><td><input type="text" name="info6" ID="info6" onKeyDown="textCounter(this,'barrainfo6',10)" onKeyUp="textCounter(this,'barrainfo6',10)" onFocus="textCounter(this,'barrainfo6',10)" value="$datos[info6]" size="13" /><div id="barrainfo6" class="progress"></div></td></tr>        
  17.             <tr><td colspan="2"><center><img src="images/hr.png" width="500px"></center></td></tr>
  18.             <tr><td>Direccion:</td><td><input type="text" name="info7" ID="info7" onKeyDown="textCounter(this,'barrainfo7',26)" onKeyUp="textCounter(this,'barrainfo7',26)" onFocus="textCounter(this,'barrainfo7',26)" value="$datos[info7]" size="29" /><div id="barrainfo7" class="progress"></div></td></tr>           
  19.             <tr><td colspan="2"><center><img src="images/hr.png" width="500px"></center></td></tr>
  20.             <tr><td>Ciudad:</td><td><input type="text" name="info8" ID="info8" onKeyDown="textCounter(this,'barrainfo8',12)" onKeyUp="textCounter(this,'barrainfo8',12)" onFocus="textCounter(this,'barrainfo8',12)" value="$datos[info8]" size="15" /><div id="barrainfo8" class="progress"></div></td></tr>          
  21.             <tr><td colspan="2"><center><img src="images/hr.png" width="500px"></center></td></tr>
  22.             <tr><td>Provincia:</td><td><input type="text" name="info9" ID="info9" onKeyDown="textCounter(this,'barrainfo9',12)" onKeyUp="textCounter(this,'barrainfo9',12)" onFocus="textCounter(this,'barrainfo9',12)" value="$datos[info9]" size="15" /><div id="barrainfo9" class="progress"></div></td></tr>           
  23.             <tr><td colspan="2"><center><img src="images/hr.png" width="500px"></center></td></tr>         
  24.             <tr><td>E-Mail:</td><td><input type="text" name="info10" ID="info10" onKeyDown="textCounter(this,'barrainfo10',30)" onKeyUp="textCounter(this,'barrainfo10',30)" onFocus="textCounter(this,'barrainfo10',30)" value="$datos[info10]" size="33" /><div id="barrainfo10" class="progress"></div></td></tr>           
  25.             <tr><td colspan="2" Class="tablatitulo" height="10px"></td></tr>                           
  26.         </table>
  27.         </fieldset>
  28.         <fieldset class="sectionwrap">
  29.         <legend>Datos de Acceso</legend>
  30.         <table Class="tabladatos2">
  31.             <tr><td colspan="2" Class="tablatitulo" height="10px"></td></tr>           
  32.             <tr><td>Usuario:</td><td><input type="text" name="info1" ID="info1" onKeyDown="textCounter(this,'barrainfo1',9)" onKeyUp="textCounter(this,'barrainfo1',9)" onFocus="textCounter(this,'barrainfo1',9)" value="$datos[info1]" size="12" /><div id="barrainfo1" class="progress"></div></td></tr>        
  33.             <tr><td colspan="2"><center><img src="images/hr.png" width="500px"></center></td></tr>
  34.             <tr><td>Clave:</td><td><input type="text" name="info2" ID="info2" onKeyDown="textCounter(this,'barrainfo2',26)" onKeyUp="textCounter(this,'barrainfo2',26)" onFocus="textCounter(this,'barrainfo2',26)" value="$datos[info2]" size="29" /><div id="barrainfo2" class="progress"></div></td></tr>           
  35.         <tr><td colspan="2" Class="tablatitulo" height="10px"></td></tr>                       
  36.         </table>
  37.         </fieldset>
  38.         <fieldset class="sectionwrap">
  39.         <legend>Guardar Alumno</legend>
  40.         <table>
  41.         <tr><td colspan="2" Class="tablatitulo" height="10px"></td></tr>   
  42.         <tr><td colspan="2"><input type="text" name="info12" value="$datos[accion]" style="display:none"><input id="submitButton" type="submit" value="Guardar Datos"/></td></tr>
  43.         <tr><td colspan="2" Class="tablatitulo" height="10px"></td></tr>
  44.         </table>
  45.         </fieldset>        
  46.     </form>
(tambien ese es el codigo de formulariojava.php)
los script son largos si quieren los incluyo pero el problema no esta ahi ya que andan bien y unos andan siempre y hay otro cuando uso cargar_datos deja de funcionar.
el que deja de andar curiosamente es el que utiliza lo que defino en el head de index.php
Código Javascript:
Ver original
  1. <script type="text/javascript" src="jquery.js"></script>
  2.         <script type="text/javascript" src="script.js"></script>
  3.         <script type="text/javascript">
  4.         var myform=new formtowizard({
  5.             formid: 'feedbackform',
  6.             persistsection: true,
  7.             revealfx: ['slide', 500]
  8.         })
  9. </script>
probe de todo pero si lo cargo con la funcion deja de andar, si alguien se le ocurre la causa del problema por favor podria ayudarme muchas gracias.
  #2 (permalink)  
Antiguo 22/05/2012, 13:38
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Problema simple: causa de que algunos script no andan?

Asegurate que no te esté pasando esto
http://foros.emprear.com/ajax/html-css-js-ajax/

Mirá la primera parte del ejemplo, lo de usar js y css en el contenido cargado en el div sin haber cargado también los correspondientes js y css que los afectan
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 22/05/2012, 19:46
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: Problema simple: causa de que algunos script no andan?

hola emprear gracias por tu respuesta, el ejemplo que publicaste es una adaptacion bastante similar a la de mi problema, sin embargo no es mi caso, el archivo formulariojava.php no contiene encabezado solo el formulario, los estilos css se heredan correctamente de la carga del index.php y tambien el arcgivo script.js

dentro de script.js tengo dos script, el que anima el formulario y otro que te marca que porcentaje de texto escribiste en sus campos a medida que se rellenan.

el css se carga correctamente como dije y la funcion que carga la barra con el porcentaje escrito tambien andan. dado que la funcion del porcentaje y la de la animacion estan en el mismo archivo (la funcion de la barra esta escrita despues de la de la animacion) y esta anda bien supongo que el archivo lo cargo bien.

si el texto de formulariojava.php lo pongo en cualquier parte de index.php la funcion de animacion anda perfecto pero cuando lo cargo mediante la funcion que mostre anteriormente esta animacion deja de funcionar por lo que mi problema no pasa por ahi.
probe a usar la funcion cargarRecursos('script.js','style.css'); que se usa en eljemplo y no hay ningun tipo de cambio el resultado es el mismo y el problema persiste ahora copiare la funcion de carga de esa pagina y probare con eso y comentare que tal me fue.

muchas gracias por responder.
  #4 (permalink)  
Antiguo 22/05/2012, 20:04
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Problema simple: causa de que algunos script no andan?

Analizá también la consola de errores
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 22/05/2012, 20:14
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: Problema simple: causa de que algunos script no andan?

Cita:
Iniciado por emprear Ver Mensaje
Analizá también la consola de errores
Saludos
No es eso tampoco

http://www.nehuensystem.com/prueba/index.php

aqui podes ver mi problema en concreto

http://www.nehuensystem.com/prueba/script.js

esos son los script y

http://www.nehuensystem.com/prueba/formulariojava.php

es el formulario, podes verlo en funcionamiento y ver su codigo fuente tambien, apenas entras esta el formulario animado tal como se debe ver y cuando puelsas el boton se carga y si escribes en algun campo de texto podras ver que los script funcionan, podrias por favor hecharle un (ojo) a ver si encuetras algo?

el codigo esta simplificado saque todo lo demas de la web para que sea de facil lectura.
te agradesco mucho de antemano este problema me esta comiendo la cabeza
  #6 (permalink)  
Antiguo 22/05/2012, 21:01
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Problema simple: causa de que algunos script no andan?

Estuve viendo un poco, y te hago las siguientes observaciones

1. Tenés que arreglar tu HTML, falta un Doctype válido, hay id repetidos
2. por lo que entiendo, si pones directamente el form en el index, funciona, y si cargas el form con ajax(arriba a la derecha --> "cargar formulario"), las animaciones no te funcionan
3. Me pregunto? porque al cargar formulario te desaparece la barra de pasos (la que tiene los numeros, que se encuentra arriba...)
4. cual es la necesidad de cargar el formulario con ajax? Por que no dejarlo en el index si así funciona bien, en todo caso si queres que por defecto esté en una capa oculta, y al hacer click en cargar formulario, la mostrás

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 22/05/2012, 22:01
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: Problema simple: causa de que algunos script no andan?

te respondo por partes:
1) gracias por los datos, solucione los id repetidos (hacian que las barras de progreso anden mal) y agregue un doctype, pero nada cambio todo sigue igual.
2) esactamente tu lo has dicho ese es mi gran problema
3) la barra de pasos esa la genero mediante javascript, es parte de la funcion que deja de andar, esa barra y los botones de abajo y los textos todo lo armo mediante javascrit en la funcion que ya no se anda al cargar el div.
4) la nesesidad biene poruqe tengo cerca de 9 formularios como ese y que los cargo de a uno en una sola interface, es decir, tengo varios php que hacen varias cosas cada uno con su formulario y en el index.php un menu de navegacion, cargo el php correspondiente y llamo asincronicamente a otros php y asi, todo eso anda bien.
la nesesidad de cargarlo es esa.
tengo que replantearme toda la estructura de la web por este problema si no aparece la solucion. habras visto que en los campos aparece $datos[info] esos datos los saco de una bd previamente.
ya subi los archivos corregidos para que puedan verse pero el problema persiste :(
  #8 (permalink)  
Antiguo 22/05/2012, 22:08
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Problema simple: causa de que algunos script no andan?

Dejame que lo analice, y ver si puedo crear una demo con varios forms con algún efecto asociado que afecte el form cargado. No quiero recaer en duplicar tu ejemplo, porque es muy extenso y tendría que revisar cosa por cosa.
Mañana te cuento

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #9 (permalink)  
Antiguo 23/05/2012, 13:10
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: Problema simple: causa de que algunos script no andan?

buenoas tardes emprear habeis encontrado algo?
yo luego de probar bastante detecte la causa del problema y tambien encontre una solucion muy rustica pero que de momento hace que ande.
en script.js tengo esta funcion:
Código Javascript:
Ver original
  1. function inicial(){
  2.         var myform=new formtowizard({
  3.             formid: 'frfrfr',
  4.             persistsection: true,
  5.             revealfx: ['slide', 500]
  6.             })             
  7.             }
  8. window.onload=inicial()
cuando cargo el index.php anda bien gracias a eso.
pero al cargar el div mediante javascript deja de andar pues esta variable que defini deja de tener valor (por un motivo aun desconocido)
por lo que agregue dentro de formulariojava esta linea:
Código HTML:
Ver original
  1. <a href="javascript:inicial()">cargar funcion</a>
al cargar el div la animacion no aparece pero luego de hacer manualmente click en ese enlace anda bien.
el problema sin duda radica ahi y por algun motivo esta variable no se hereda como si hacen las demas y los script y los estilos.
se te ocurre alguna causa o solucion a este fenomeno?

http://www.nehuensystem.com/prueba/index.php

alli esta actualizado con esto que te comente para que puedas verlo.

Etiquetas: formulario, funcion, html, input, jquery, js, php, simple
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:54.