| |||
Buenos dias, una vez me comentaste esto... Cita: Como podria mejor tu isiajax para q si admitiera el evento onsubmit en el form?sergi_climent El problema esque tu AJAX no usa onsubmit por lo tanto nunca ejecutara tu funcion de validacion. es posible? sabes de algun sitio donde pueda guiarme? esto lo comento por el post siguiente http://www.forosdelweb.com/f13/validar-formulario-sin-onsubmit-404687/ donde pregunte como se podria hacer una validacion sin onsubmit del form. gracias de antemano, Saludos
__________________ "Cada hombre es el hijo de su propio trabajo" Miguel de Cervantes Saavedra "La experiencia es algo que no consigues hasta justo depués de necesitarla" Laurence Olivier Última edición por sergi_climent; 28/06/2006 a las 01:36 |
| |||
Muy buenas... no es q lo necesite... porque eso ya funciona... y si una cosa funciona bien no la toques... pero justamente acabo de empezar con javascript y mis nociones con basicas y en el link q te puesto me han dicho q la validacion para hacerla correcta se hacia onsubmit. simplemente por eso...
__________________ "Cada hombre es el hijo de su propio trabajo" Miguel de Cervantes Saavedra "La experiencia es algo que no consigues hasta justo depués de necesitarla" Laurence Olivier |
| |||
Ok! lo dejare tal y como me has dicho tu... ya q asi funciona Gracias por ayuda NzO! Saludos
__________________ "Cada hombre es el hijo de su propio trabajo" Miguel de Cervantes Saavedra "La experiencia es algo que no consigues hasta justo depués de necesitarla" Laurence Olivier |
| |||
hola de nuevo. una pregunta, he estado haciendo mas pruebas y bueno... para validar los formularios todo correcto si le doy al boton... pero si le doy al intro? me carga lo mismo pero sin respetarme el div contenedor... es devir me lo carga todo en una pagina nueva... como puedo arreglar eso? Saludos y muchas gracias!
__________________ "Cada hombre es el hijo de su propio trabajo" Miguel de Cervantes Saavedra "La experiencia es algo que no consigues hasta justo depués de necesitarla" Laurence Olivier |
| ||||
pues si es una pega, ten encuenta que el evento que pusimos era onClick en el boton de enviar. Pero claro al darle a intro hace on submit. Lo que puedes hacer que tu boton vuelva a ser type="submit" y en la etiqueta form onSubmit="validatraspas(this.form); return false" En principio debe ir asi. Prueba y me cuentas. Saludos. |
| |||
Hola, q tal estamos? he provado eso q me has dicho y nada sin exito... me carga el resultado en una pagina nueva. mi formulario es el siguiente y este funciona bien, Código HTML: <form id="miform" method="post" action="consultes/expedicions/resexpedimagatzem.php" onSubmit="javascript:validaconsultaexpedi(this.form)"> <table border="1"> <tr> <td> <select name="magatzem" class="caixes" onchange="if (this.value>0) myajax.Select('consultes/expedicions/cons_dataexpedi.php?magatzem='+this.value, 'datexp')"> <option value="0">Escoje un Almacen...</option> <? while($res_magatzem=mysql_fetch_row($sql_magatzem)){ echo "<option value=".$res_magatzem[0].">".$res_magatzem[1]."</option>"; } ?> </select> </td> <td> <select id="datexp" name="datexp" class="caixes"> <option value="0">Escoje un Almacen...</option> </select> </td> <td> <input type="button" class="boto" name="enviar" value="Consultar" onClick="javascript:validaconsultaexpedi(this.form)"> </td> <td> <input type="button" class="boto" name="imprimir" value="Imprimir" onclick="imprime('main4')"> </td> </tr> <tr> <td colspan="4"><div id="main4" class="dive" align="center"></div></td> </tr> </table> </form> Código HTML: <form id="miform" method="post" action="consultes/expedicions/resexpedimagatzem.php" onSubmit="javascript:validaconsultaexpedi(this.form)"> <table border="1"> <tr> <td> <select name="magatzem" class="caixes" onchange="if (this.value>0) myajax.Select('consultes/expedicions/cons_dataexpedi.php?magatzem='+this.value, 'datexp')"> <option value="0">Escoje un Almacen...</option> <? while($res_magatzem=mysql_fetch_row($sql_magatzem)){ echo "<option value=".$res_magatzem[0].">".$res_magatzem[1]."</option>"; } ?> </select> </td> <td> <select id="datexp" name="datexp" class="caixes"> <option value="0">Escoje un Almacen...</option> </select> </td> <td> <input type="submit" class="boto" name="enviar" value="Consultar" > </td> <td> <input type="button" class="boto" name="imprimir" value="Imprimir" onclick="imprime('main4')"> </td> </tr> <tr> <td colspan="4"><div id="main4" class="dive" align="center"></div></td> </tr> </table> </form> Código PHP: y una cosa mas... el q tienes de myajax.Select, en windos XP + apache 2 y php5 me va perfecto, pero en Debian, PHP 4.3.10 y apache 2... y no me funciona.. me devuelve un error diciendome q falta una parametro... Otra cosa mas... los simbolos como el del € tampoco se vee bien... sale un cuadrito! alguna idea sobre esto? Gracias de antemano.... saludos
__________________ "Cada hombre es el hijo de su propio trabajo" Miguel de Cervantes Saavedra "La experiencia es algo que no consigues hasta justo depués de necesitarla" Laurence Olivier Última edición por sergi_climent; 11/07/2006 a las 10:18 |
| |||
buenas... pues no es eso... me sigue pasando lo mismo... el onSubmit se lo pasa por donde yo ser... no lo entiendo la verdad. tu lo has probado? Código HTML: <form id="miform" name="miform" method="post" action="expedicio/act_ins.php" onSubmit="validaexpedicio(this.form); return false"> <table width="50%" align="center"> <tr><td align="center" class="titol" colspan="2">Expediciones</td></tr> <tr><td colspan="2"> </td></tr> <tr> <td class="lletra"> Fecha</td> <td> <input name="dc" value="" size="20"><a href="javascript:void(0)" onClick="if(self.gfPop)gfPop.fPopCalendar(document.miform.dc);return false;" HIDEFOCUS><img name="popcal" align="absmiddle" src="img/calendari.gif" width="34" height="22" border="0" alt=""></a> <iframe width=199 height=178 name="gToday:normal:agenda.js" id="gToday:normal:agenda.js" src="calendari/ipopeng.htm" scrolling="no" frameborder="0" style="visibility:visible; z-index:999; position:absolute; top:-500px; left:-500px;"> </iframe> </td> </tr> <tr> <td class="lletra"> Tipo de Caja</td> <td> <select name="article" class="caixes" onchange="myajax.Link('expedicio/cons_stock.php?article='+this.value, 'stock_actual')"> <option value="0">Tipo de caja...</option> <? while($res_article=mysql_fetch_row($sql_article)){ echo "<option value=".$res_article[0].">".$res_article[1]."</option>"; } ?> </select> </td> </tr> <tr> <td class="lletra"> Stock Actual</td> <td><div id="stock_actual"><input readonly/></div></td> </tr> <tr> <td class="lletra"> Cantidad</td> <td><input type="text" name="quantitat" class="caixes" onblur="javascript:validarnumero(this.value)"/></td> </tr> <tr> <td class="lletra"> Plataforma Destino</td> <td> <select name="plataformadesti" class="caixes"> <option value="0">Escoje una Plaforma...</option> <? while($res_plataforma=mysql_fetch_row($sql_plataforma)){ echo "<option value=".$res_plataforma[0].">".$res_plataforma[1]."</option>"; } ?> </select> </td> </tr> <tr> <td class="lletra"> Nº Albaran</td> <td><input type="text" name="albara" class="caixes"/></td> </tr> <tr><td> </td></tr> <tr> <td align="right"> <input type="submit" class="boto" name="enviar" value="Grabar"> </td> <td align="left"> <input type="button" class="boto" name="cancelar" value="Cancelar" onclick="myajax.Link('#expedicio/default.php', 'main')"> </td> </tr> </table> </form> Código PHP: saludos y gracias de nuevo
__________________ "Cada hombre es el hijo de su propio trabajo" Miguel de Cervantes Saavedra "La experiencia es algo que no consigues hasta justo depués de necesitarla" Laurence Olivier Última edición por sergi_climent; 13/07/2006 a las 03:32 |
| |||
Javascript en capa cargada con AJAX Ante todo, me quito el sombrero, NzO. Magnífica librería. La estoy usando y me funciona todo bien. Es muy útil. Sólo me he encontrado con un problema: En una capa de la página cargo un contenido (en este caso una gráfica generada con un applet de java) y todo correcto. El problema es que tengo un checkbox que me permite activar o desactivar un parámetro de la gráfica mediante JavaScript. Ocurre que no puedo acceder a los parámetros de la gráfica cargada con isiAjax de la forma: document.SwitchChart.setParameter('valueLabelsOn', 'false'); No me reconoce la gráfica cargada en la capa (llamada SwitchChart). Parece ser que el código que se carga en una capa no es accesible mediante JavaScript cargado en ese mismo código. Es decir, el código JavaScript se carga en la capa junto con la gráfica, pero aún así no la reconoce. ¿Puede estar el fallo en document. ? ¿Debería poner algo distinto a document? A ver si me puede ayudar NzO. O cualquier otro. De nuevo aprovecho para felicitarte por el gran trabajo que has hecho con esta librería. Gracias por adelantado. Salu2 |
| |||
Rectifico. Tras hacer más pruebas, he comprobado que si en el onClick del checkbox no llamo a una función y pongo directamente: document.SwitchChart.setParameter('valueLabelsOn', 'true') funciona correctamente. Luego el problema no es que no reconozca los elementos cargados con AJAX en la capa, sino que no me permite llamar a una función JavaScript carga en el archivo que se carga en la capa. A ver si a alguien se le ocurre algo... Salu2 |
| |||
perdon que venga a molestar, pero baje los ejemplos, cree el archivo conexion.php, lo configure, revise todo, y todabia no puedo ver bien el listado.php, me larga los siguientes errores $conexion=mysql_connect('localhost', 'nuevo', 'pass'); mysql_select_db('isiajax', $conexion); Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\AppServ\www\PHP_isiAJAX\ejemplo\listado.php on line 20 Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\PHP_isiAJAX\ejemplo\listado.php on line 24 Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\PHP_isiAJAX\ejemplo\listado.php on line 34 Warning: mysql_close(): no MySQL-Link resource supplied in C:\AppServ\www\PHP_isiAJAX\ejemplo\listado.php on line 49 si alguien me puede dicir porque, estaria bueno, no se casi nada y empeze anoche con esto. salu2 |
| ||||
Hola jorgynh0, me alegro que te haya gustado :) En cuanto a tu problema por lo que he entendido es que: 1 - Mediante ajax descargas informacion a una capa/tabla 2 - Esa informacion lleva codigo javascript 3 - Una vez descargada la informacion y el codigo javascript te gustaria trabajar con ese codigo, pero no puedes. Eso es lo que he entendido, y lo he probado y tienes razon, no se puede. No puedes tratar javascript descargado con ajax :/ Una solucion es plantear tu web de tal manera que no tengas que descargar javascript etiendolo todo en archivos externos. O si no cuando tengas que usar JS descargado no usar AJAX en ese caso. Otra solucion seria montar tu JS con DOM, pero que resulta ser un engorro enorme :/ Mas no se puede hacer lo siento. gorgarcito Has importado la base de datos? es el archivo isiajax.sql Saludos! |
| |||
Buscador Hola Muy bueno el proyecto me interesa bastante, quería preguntarte si se puede bajar el código del buscador que tira la lista de usuarios y el detalle para ver como funciona. Te felicito, muy bueno |
| |||
hola de nuevo, una cosa, si me devuelve el siguiente error en la myajax.Select Entidad no definida
Código:
y no me muestra nada en el select recargado... <?xml version="1.0" encoding="ISO-8859-1"?><select> <option value='050'>ACELERADOR</option><option value='070'>ACUMULADOR AIGUA</option>.... </select es q lo q intento hacer es q me recargue el mismo select al clicar encima. Gracias, saludos
__________________ "Cada hombre es el hijo de su propio trabajo" Miguel de Cervantes Saavedra "La experiencia es algo que no consigues hasta justo depués de necesitarla" Laurence Olivier |
| |||
Bueno siguendo la linea de los otros usuarios, primero que cualquier cosa Felicitarte por lo estructurado que esta tu trabajo, ademas eres de las pocas personas que ha creado documentacion, tanto para PHP como para ASP que es el lenguaje en el que yo trabajo. Ahora he estado leyendo un poco las libreirias para entender la logica, saque el codigo estructurado del link que tu dejaste, pero cuando fui a mirar el isiXML tambien esta compactado, ¿ por casualidad tendras la version indentada?. Ahora yo trabajo mucho con procedimientos almacenados y la posibilidad de cargar los combo box en forma dinamica me es muy comoda pero no se como enviar el nombre del procedimiento almacenado para cada combobox ya que cada uno consulta a una tabla distinta y no me agrada la idea de crear un asp por cada combobox te tenga que usar. Muchas gracias por la paciencia que has tenido y espero me puedas contestas esta duda. Salu2 |
| ||||
sergi_climent Necesitaria el codigo html donde aplicas las funciones de isiajax. El XML no es lo que da error creo. Zeuz No he entendido bien que es lo que quieres hacer exactamente, lo siento :/ En cuanto al codigo de isiXML aqui lo tienes http://pastebin.com/750492 Decirte que los comentarios que lleva son muy personales, probablemente no te enteres de nada con ellos puesto que los hice a modo personal de tal manera que me sirviesen de ayuda. Por lo demas puedes estudiarlo si quieres. Aunque te aviso de ante mano que es algo complejo de entender. Este me costo mucho mas programarlo que isiAJAX pero mucho mas :( Lo que pasa que pocas veces se aprecia, de hecho isiAJAX esta teniendo mucho mas reconocimiento que isiXML. Supongo que porque es menos util. Saludos. |
| |||
aqui va el codigo NzO. esto seria un campo de mi formulario, q para no cargarlo de golpe y perder asi tiempo de carga, lo q hago es cuando reciben el foco actualizarlos. el id q le paso, me hara falta xq para cada select hare lo mismo, entonces a traves de un swich sabre q consulta recargar! Código HTML: <tr> <td> <strong>Tipos de Maquina</strong></td> <td align="left"> <select id="tipo_maquina" name="tipo_maquina" onFocus="myajax.Select('maquina/consultes.php?id=' + this.value, 'tipo_maquina')"> <option id="valor_defecto" value="0">Selecciona Tipo...</option> </select> </td> </tr> Código PHP: Saludos
__________________ "Cada hombre es el hijo de su propio trabajo" Miguel de Cervantes Saavedra "La experiencia es algo que no consigues hasta justo depués de necesitarla" Laurence Olivier |
| ||||
El php es correcto, el uso de isiajax tmb. El unico error posible que veo esque esta url no devuelva ningun valor maquina/consultes.php?id=0 mas que nada xq normalmente no existen ids con valor 0. Y claro ten en cuenta que conforme reciba el foco va a cargar esta url maquina/consultes.php?id=0. Saludos. |
| |||
Hola, si quito el id me pasa lo mismo! me da el mismo error en firefox. entidad no definida en linia 2 y me pone el codigo del xml, q es totalmente correcto pero no me lo pone en el select, y este se refresca y se queda en blanco! editado--> una cosa mas, en el explorer me dice q se requiere un objeto.
__________________ "Cada hombre es el hijo de su propio trabajo" Miguel de Cervantes Saavedra "La experiencia es algo que no consigues hasta justo depués de necesitarla" Laurence Olivier |
| |||
pues si llamo la pagina directamente me lo imprime bien. pero cuando la llamo desde el mismo select no hay manera. me lanza ese error. Una cosa q he probado es q si cambio el myajax.Select por myajax.Link entonces me lo dibuja bien. Código HTML: <tr> <td> <strong>Tipos de Maquina</strong></td> <td align="left"> <div id="tipomaquina"> <select id="tipo_maquina" name="tipo_maquina" onFocus="myajax.Link('maquina/consultes.php?id=' + this.value, 'tipomaquina')"> <option id="valor_defecto" value="0">Selecciona Tipo...</option> </select> </div> </td> </tr> Saludos
__________________ "Cada hombre es el hijo de su propio trabajo" Miguel de Cervantes Saavedra "La experiencia es algo que no consigues hasta justo depués de necesitarla" Laurence Olivier |
| ||||
Error de runtime en isiXML Hola Nzo, Estuve viendo tu proyecto isiAJAX y está estupendo. Pero tuve un problemilla al probar isiXML desde tu sitio, los demos no se ejecutarón correctamente desde el sitio; decidí bajar lo ejemplos para tratar de correrlo localmente, redireccione los script a mi sitio local y pues tampoco se ejecuto. Con el entusiamo de verlo correr me puse a rastrear que podría ser y llegue una punto donde creo se produce un error, pero no tengo la más mínima idea de la causa, a continuación te copié el fragmento de código con la línea en rojo donde se genera el error:
Código:
Utilizando alert averigué que str contiene x.childNodes[0] y que al hacer el eval se produce el error.this.Actualiza=function() { var k,str="x"; for(k=0;k<=lvl;++k) str+=".childNodes["+i[k]+"]"; return eval(str); }; Mi browser es IExplorer 6 por si brinda alguna pista. Espero que mi comentario sea util para ambos. Muchas gracias por tu esfuerzo. Saludes |
| ||||
Error Http 405 Hola, Me puse a rastrear la causa con más detenimiento y encontré que estoy obteniendo el error HTTP 405 cuando ejecuto el código:
Código:
Con la ayuda del codigo más abajo me di cuenta que estaba el web server me está respondiendo con el error antes mencionado.function readxml() { if (typeof XMLHttpRequest != 'undefined') objAjax = new XMLHttpRequest(); else objAjax = (Number(navigator.appVersion.substr(0,3)) >= 5) ? new ActiveXObject('Msxml2.XMLHTTP') : new ActiveXObject('Microsoft.XMLHTTP'); objAjax.open('GET', 'myxml.xml', true); objAjax.onreadystatechange = getinfo objAjax.send('myxml.xml'); }
Código:
Estoy utilizando el IIS de XP, con IExplorer 6 por me dio cel cual mando a llamar el url http://localhost/temp/tables.html.document.getElementById("mydiv").innerHTML = objAjax.responseText Alguna idea de porque no logro obtener el archivo xml? |
| ||||
Sigo con la duda Yupi, Nzo, hicistes trabajar mi cerebro por un buen rato, pero ya logre correr el ejemplo. El isiXML también esta estupendo. La solución fue dejar vacio el metodo send del obeto objAjax, el código quedó así:
Código:
Pero me quedo con la curiosidad saber que provocaba el error, que hace la diferencia? en que cambia al quitar el parametro?. Nzo, si me aclaras la duda te lo agradeceré mucho.function readxml() { if (typeof(XMLHttpRequest) != 'undefined') objAjax = new XMLHttpRequest(); else objAjax = (Number(navigator.appVersion.substr(0,3)) >= 5) ? new ActiveXObject('Msxml2.XMLHTTP') : new ActiveXObject('Microsoft.XMLHTTP'); objAjax.open('GET', 'myxml.xml', true); objAjax.onreadystatechange = getinfo objAjax.send(); } Ah, muy buen trabajo Nzo. Saludes |
| ||||
El metodo send() se usa para transferir datos/parametros. Pero por post. Es decir: var1=valor1&var2=valor2 En tu caso no envias nada, por lo tanto ese parametro te sobra. Ademas creo recordar que solo funcionaba con el metodo POST, si no usas el metodo POST debes dejarlo null (vacio). Cuando yo lo hago por get lo hago asi: objAjax.open('GET', 'myxml.xml?var1=valor1&var2=valor2', true); Sin embargo si es por POST: objAjax.open('POST', 'myxml.xml', true); objAjax.send('var1=valor1&var2=valor2'); Logicamente si no vas a enviar nada lo dejas null en ambos casos. Saludos :) Última edición por NzO; 23/07/2006 a las 10:03 |