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

Mi proyecto isiAJAX

Estas en el tema de Mi proyecto isiAJAX en el foro de Frameworks JS en Foros del Web. myajax = new isiAJAX(); input1=document.getElementById("input1"); myajax.Request({ url: 'request.php', param: 'valor='+input1, onOK: mifuncion }); Luego en el input con el onFocus invocaria myajax.Request? o como? Para ...

  #121 (permalink)  
Antiguo 13/12/2006, 18:33
 
Fecha de Ingreso: febrero-2005
Mensajes: 626
Antigüedad: 19 años, 9 meses
Puntos: 10
Re: Mi proyecto isiAJAX

myajax = new isiAJAX();
input1=document.getElementById("input1");

myajax.Request({
url: 'request.php',
param: 'valor='+input1,
onOK: mifuncion
});

Luego en el input con el onFocus invocaria myajax.Request? o como?

Para un autocompletador seria asi?

Pero donde especifico la capa para recibir la cadena de datos?
  #122 (permalink)  
Antiguo 14/12/2006, 10:16
 
Fecha de Ingreso: agosto-2004
Mensajes: 83
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Mi proyecto isiAJAX

Hola a todos,

excelente libreria, la estoy empezando a usar y es muy útil.
Tengo una pequeña duda, sabrías decirme , es sobre el ejemplo de la bbdd y la busqueda, como se puede ordenar por el encabezado de las columnas.
Me explico: cuando se genera la tabla con los resultados, si pincho en la cabecera de las columnas me la volviera a generar pero ordenada por la cabecera (campo) que haya pinchado.

He probado con .Link pero no lo consigo, si lo ha conseguido alguien o puede ayudar estaría muy agradecido.

Muchas gracias.
  #123 (permalink)  
Antiguo 14/12/2006, 13:13
Avatar de NzO
NzO
 
Fecha de Ingreso: abril-2005
Mensajes: 153
Antigüedad: 19 años, 8 meses
Puntos: 3
Re: Mi proyecto isiAJAX

August Esque para hacer un autocompletado es algo dificil, porque no es solo AJAX, si no dhtml. Es decir mucho javascript, tienes que detectar cuando se pulsa una tecla, cuando se debe abrir la capa con el listado, cuando se pulsa una palabra del listado... En fin que no es moco de pavo.
Si no tienes ni idea dimelo, y intento explicarte como lo haria a groso modo.

dgcc Lo primero que tienes que hacer es hacer una copia de listado.php y llamarlo ordenar.php xejem. Ese archivo te generara lo mismo que listado.php solo que la consulta seria distinta, en vez de ser $_POST deberias usar $_GET

y aqui:
Código:
$lista = mysql_query("
SELECT usuarios.id AS id, usuarios.Nombre AS nombre, pais.nombre AS pais, usuarios.edad AS edad, usuarios.email AS email 
FROM usuarios 
INNER JOIN pais 
ON pais.id = usuarios.id_pais
$WHERE
ORDER by $_GET[ordena]
", $conexion);
deberas añadir el order tal y como te he puesto.

Pero ojo! tanto en listado.php como en ordenar.php deberas pasar por parametros los campos de la consulta que ya se hizo.
quedaria algo asi tu encabezado de listado.php:

Código HTML:
<td width="20%" bgcolor="#A0E600" style="color:#FFFFFF" align="center"><a href="#ordenar.php?ordena=usuarios.Nombre&paises=<?=$_POST['paises'];?>&continentes=<?=$_POST['continentes];?>&nombre=<?=$_POST['nombre'];?>&email=<?=$_POST['email'];?>" onclick="myajax.Link(this.href, 'main')"><b>Nombre</b></a></td> 
Y lo mismo para ordenar.php, solo que en vez de POST seria GET.
Espero que hayas entendido mas o menos lo que tienes que hacer.
__________________
NzO=EnZo
isiAJAX & isiXML hechos el uno para el otro.
  #124 (permalink)  
Antiguo 15/12/2006, 05:20
 
Fecha de Ingreso: agosto-2004
Mensajes: 83
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Mi proyecto isiAJAX

Hola Nzo,

me ha funcionado perfectamente, muchiiiiiiiiiiiiiiiiiisimas gracias.
Ya te iré contando, porque quiero hacer todo el proyecto con la libreria.

Un saludo.
  #125 (permalink)  
Antiguo 15/12/2006, 08:13
 
Fecha de Ingreso: febrero-2005
Mensajes: 626
Antigüedad: 19 años, 9 meses
Puntos: 10
Re: Mi proyecto isiAJAX

Hola NzO

Encontre este ejemplo, http://www.formatoweb.com.ar/ajax/

Este es el javascript:

Código:
function asignaVariables()
{
    // Funcion que asigna variables que se usan a lo largo de las funciones    
    v=1; nuevaBusqueda=1; busqueda=null; ultimaBusquedaNula=null;
    divLista=document.getElementById("lista");
    inputLista=document.getElementById("input_2");
    elementoSeleccionado=0;
    ultimoIdentificador=0;
}

function nuevoAjax()
{ 
    /* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
    lo que se puede copiar tal como esta aqui */
    var xmlhttp=false; 
    try 
    { 
        // Creacion del objeto AJAX para navegadores no IE
        xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
    }
    catch(e)
    { 
        try
        { 
            // Creacion del objet AJAX para IE 
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
        } 
        catch(E) { xmlhttp=false; }
    }
    if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); } 

    return xmlhttp; 
}

function eliminaEspacios(cadena)
{
    // Funcion para eliminar espacios delante y detras de cada cadena
    while(cadena.charAt(cadena.length-1)==" ") cadena=cadena.substr(0, cadena.length-1);
    while(cadena.charAt(0)==" ") cadena=cadena.substr(1, cadena.length-1);
    return cadena;
}



function formateaLista(valor)
{
    // Funcion encargada de ir colocando en negrita las palabras y asignarle un ID a los elementos
    var x=0, verificaExpresion=new RegExp("^("+valor+")", "i");
    
    while(divLista.childNodes[x]!=null)
    {
        // Asigo el ID para reconocerlo cuando se navega con el teclado
        divLista.childNodes[x].id=x+1;
        // Coloco en cada elemento de la lista en negrita lo que se haya ingresado en el input
        divLista.childNodes[x].innerHTML=divLista.childNodes[x].innerHTML.replace(verificaExpresion, "<b>$1</b>");
        x++;
    }
}

function limpiaPalabra(palabra)
{
    // Funcion encargada de sacarle el codigo HTML de la negrita a las palabras
    palabra=palabra.replace(/<b>/i, "");
    palabra=palabra.replace(/<\/b>/i, "");
    return palabra;
}

function coincideBusqueda(palabraEntera, primerasLetras)
{
    /* Funcion para verificar que las primeras letras de busquedaActual sean iguales al
    contenido de busquedaAnterior. Se devuelve 1 si la verificacion es afirmativa */
    if(primerasLetras==null) return 0;
    var verificaExpresion=new RegExp("^("+primerasLetras+")", "i");
    if(verificaExpresion.test(palabraEntera)) return 1;
    else return 0;
}

function nuevaCadenaNula(valor)
{
    /* Seteo cual fue la ultima busqueda que no arrojo resultados siempre y cuando la cadena
    nueva no comience con las letras de la ultima cadena que no arrojo resultados */
    if(coincideBusqueda(valor, ultimaBusquedaNula)==0) ultimaBusquedaNula=valor;
}

function busquedaEnBD()
{
    /* Funcion encargada de verificar si hay que buscar el nuevo valor ingresado en la base
    de datos en funcion de los resultados obtenidos en la ultima busqueda y en base a que
    la cadena bsucada anteriormente este dentro de la nueva cadena */
    var valor=inputLista.value;
    
    if((coincideBusqueda(valor, busqueda)==1 && nuevaBusqueda==0) || coincideBusqueda(valor, ultimaBusquedaNula)==1) return 0;
    else return 1;
}

function filtraLista(valor)
{
    // Funcion encargada de modificar la lista de nombres en base a la nueva busqueda
    var x=0;

    while(divLista.childNodes[x]!=null)
    {
        // Saco la negrita a los elementos del listado
        divLista.childNodes[x].innerHTML=limpiaPalabra(divLista.childNodes[x].innerHTML);
        if(coincideBusqueda(limpiaPalabra(divLista.childNodes[x].innerHTML), valor)==0)
        {
            /* Si remuevo el elemento x, el elemento posterior pasa a ocupar la posicion de
            x, entonces quedaria sin revisar. Por eso disminuyo 1 valor a x */
            divLista.removeChild(divLista.childNodes[x]);
            x--;
        }
        x++;
    }
}

function reiniciaSeleccion()
{
    mouseFuera(); 
    elementoSeleccionado=0;
}

function navegaTeclado(evento)
{
    var teclaPresionada=(document.all) ? evento.keyCode : evento.which;
    
    switch(teclaPresionada)
    {
        case 40:
        if(elementoSeleccionado<divLista.childNodes.length)
        {
            mouseDentro(document.getElementById(parseInt(elementoSeleccionado)+1));
        }
        return 0;
        
        case 38:
        if(elementoSeleccionado>1)
        {
            mouseDentro(document.getElementById(parseInt(elementoSeleccionado)-1));
        }
        return 0;
        
        case 13:
        if(divLista.style.display=="block" && elementoSeleccionado!=0)
        {
            clickLista(document.getElementById(elementoSeleccionado))
        }
        return 0;
        
        default: return 1;
    }
}    

function rellenaLista()
{
    var valor=inputLista.value;

    // Valido con una expresion regular el contenido de lo que el usuario ingresa
    var reg=/(^[a-zA-Z0-9.@ ]{2,40}$)/;
    if(!reg.test(valor)) divLista.style.display="none";
    else
    {
        if(busquedaEnBD()==0)
        {    
            // Si no hay que buscar el valor en la BD
            busqueda=valor;
    
            // Hago el filtrado de la nueva cadena ingresada
            filtraLista(valor);
            // Si no quedan elementos para mostrar en la lista
            if(divLista.childNodes[0]==null) { divLista.style.display="none"; nuevaCadenaNula(valor); }
            else { reiniciaSeleccion(); formateaLista(valor); }
        }
        else
        {    
            /* Si se necesita verificar la base de datos, guardo el patron de busqueda con el que se
            busco y luego recibo en una variable si existen mas resultados de los que se van a mostrar */
            busqueda=valor;

            var ajax=nuevoAjax();
            ajax.open("POST", "index_proceso.php?", true);
            ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            ajax.send("busqueda="+valor);
        
            ajax.onreadystatechange=function()
            {    
                if (ajax.readyState==4)
                {
                    if(!ajax.responseText) { divLista.style.display="none"; }
                    else 
                    {
                        var respuesta=new Array(2);
                        respuesta=ajax.responseText.split("&");
                
                        /* Obtengo un valor que representa si tengo que ir a BD en las proximas 
                        busquedas con cadena similar */
                        nuevaBusqueda=respuesta[0];
                
                        // Si se obtuvieron datos los muestro
                        if(respuesta[1]!="vacio") 
                        { 
                            divLista.style.display="block"; divLista.innerHTML=respuesta[1]; 
                            // Coloco en negrita las palabras
                            reiniciaSeleccion();
                            formateaLista(valor); 
                        }
                        // En caso contrario seteo la busqueda actual como una busqueda sin resultados
                        else nuevaCadenaNula(valor);
                    }
                }
            }
        }
    }
}

function clickLista(elemento)

{
    /* Se ejecuta cuando se hace clic en algun elemento de la lista. Se coloca en el input el
    valor del elemento clickeado */
    v=1;
    valor=limpiaPalabra(elemento.innerHTML); 
    busqueda=valor; inputLista.value=valor;
    divLista.style.display="none"; elemento.className="normal";
}

function mouseFuera()
{
    // Des-selecciono el elemento actualmente seleccionado, si es que hay alguno
    if(elementoSeleccionado!=0 && document.getElementById(elementoSeleccionado)) document.getElementById(elementoSeleccionado).className="normal"; 
}

function mouseDentro(elemento)
{
    mouseFuera();
    elemento.className="resaltado";
    // Establezco el nuevo elemento seleccionado
    elementoSeleccionado=elemento.id;
}
Lo que pasa es que en donde tengo el input tambien tengo unos checkboxes y quiero saber que si estan checados, tambien se envien a mi archivo php

En la funcion asignaVariables(), agrege
radioCapac=document.getElementById("capac");
radioNoParte=document.getElementById("noparte");
y en la funcion rellenaLista() agregando
var capac= radioCapac.value;
var noparte= radioCapac.value;


Tambien intente crear otrar funcion
function comprueba(esto){
if(esto=="capacidad"){
var campo="clasif";
}
if(esto=="noparte"){
var campo="parte";
}
}

tambien intente poniendolo, dentro de la funcion rellenaLista(), agregando como argumento "esto" rellenaLista(esto)

En todos los casos hice la concatenacion de las variables en ajax.send

En unas ocaciones, mi script php recibia como si estuvieran los dos checkboxes seleccionados y en otros casos ni siquiera, lo recibia como undefined

Te agradesceria me echaras una mano

Salu2
  #126 (permalink)  
Antiguo 15/12/2006, 10:37
 
Fecha de Ingreso: febrero-2005
Mensajes: 626
Antigüedad: 19 años, 9 meses
Puntos: 10
Re: Mi proyecto isiAJAX

Código PHP:
if (document.getElementById("capac").checkbox="checked"
        {var 
param=1;}
        if (
document.getElementById("noparte").checkbox=="checked"
        {var 
param=2;}
        if (
document.getElementById("capac").checkbox="checked" && document.getElementById("noparte").checkbox=="checked"
        {var 
param=3;} 
Puse esto en la funcion rellenaLista() y asignaVariables(), y si envia la variable solo que no detecta cuando se selecciona otro checkbox incluso si en esos input en el evento onClick le pongo esas funciones

Tambien trate de hacerlo como una funcion aparte llamandola en el evento onClick, pero parece que es como si las variable fueran locales y no globales, en este caso

Como le hago?, entonces?
  #127 (permalink)  
Antiguo 20/12/2006, 05:18
 
Fecha de Ingreso: agosto-2004
Mensajes: 83
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Mi proyecto isiAJAX

Hola a todos,

me he encontrado con otro problema y necesito ayudita.
Os cuento, tengo una página y llamo por Link('pagina.php','capa') a otra página para cargarla en una capa, pero dentro de pagina.php llamo a un javascript y no hace nada.
Es que debo poner un calendario dentro de pagina.php, está realizado en javascript.

Muchas gracias de antemano
  #128 (permalink)  
Antiguo 08/01/2007, 11:14
 
Fecha de Ingreso: abril-2005
Mensajes: 3
Antigüedad: 19 años, 8 meses
Puntos: 0
Re: Mi proyecto isiAJAX

ya... llevo alguno dias jugando con tu libreria en mi pagina , la estoy combinando con otra libreria de efectos, pero me e topado con varios inconvenientes, que parecen solo ser producto de mi ignorancia...

Primero: existe algun modo de subir archivos con enctype="multipart/form-data" e Isiajax ?, buscando informacion vi que no se puede, peor utilizando iframes si, como lo hago con isiajax?

Segundo: Utilizando el metodo Request(); se supone que con onOK debo poner la funcion que reciba la informacion y la muestre, y onComplete?, debo ingresar la funcion que ejecute al estar readyState en 4, eso quiere decir cuando ya este devueltos los archivos.

Bueno, lo que yo hice fue devolver la informacion en onOK, tal como en el ejemplo de tu web, y en onComplete, puse un efecto de script.aculo.us, el efecto anda bien, pero el problema es que no muestra la informacion en onOK, tan solo pasa el efecto y no devuleve nada al id.

tengo algo parecido a esto:

Código:
<a href="#" onClick="myajax.Request({
		url: 'request.php',
		method: 'GET',
		param: 'var1=Hola mundo&var2=adios mundo',
		onOK: Recibo,//como aplico el id desde aqui?
		onComplete: efecto
	});">Link</a>
Lo otro, como hago para pasar desde el enlace y no el head con una funcion, el id para que reciba onOK ?

Un mensaje para todos quienes estan conociendo la libreria, NO SE PUEDE aplicar javascript dentro de las capas que utiliza la libreria...

Última edición por Mr.Ale; 08/01/2007 a las 11:21
  #129 (permalink)  
Antiguo 09/01/2007, 06:09
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 11 meses
Puntos: 10
3 Select Dependientes con esta libreria

Hola, una duda rapida q no ser resolver...
como puedo hacer 3 o mas selects dependientes con esta libreria?

lo q hago es llamar una pagina donde hago la consulta pasandole el parametro de cada select, y utilizando el myajax.link refresco el div correspondiente. pero si quisiera hacerlo con mas selects unos dependientes de otros como podria realizarlo?
el codigo q uso es el siguiente:
Código PHP:
<table>
<tr>
    <td class="lletra">Empresa</td>
    <td>
<select id="empresa" name="empresa" class="combo" onChange=" myajax.Link('personal/consultes.php?id=seccio&idempresa=' + this.value, 'seccio')">
        <option value="0">Selecciona Empresa...</option>
        <?
        
//Select per Tipus de Maquina
        
$busqueda="SELECT id_empresa,nom_empresa FROM empresa 
                   ORDER BY id_empresa"
;
        
$sql mysql_query($busqueda) or die(mysql_error());
        
// imprimir la select
        
while($reg=mysql_fetch_row($sql))
        {
            
// Pasem a HTML accents y ñ per la seva correcta visualitzacio
            
$reg[1]=htmlentities($reg[1]);
            
// Imprimir les opcions del select                
            
echo "<option value='".$reg[0]."'>".$reg[1]."</option>";
        }
        
?>            
    </select>
    </td>
</tr>
<tr>
    <td>Seccion</td>
    <td>
    <div id="seccio">
    <select id="id_seccio" name="id_seccio" class="combo">
        <option id="valor_defecto" value="0">Selecciona Seccion...</option>
    </select>
    </div>
    </td>
</tr>
<tr>
<td>Trabajador</td>
<td>
    <div id="personal">
    <select id="id_persona" name="id_persona" class="combo">
        <option id="valor_defecto" value="0">Selecciona Persona...</option>
    </select>
    </div>
    </td>
</tr>
</table>
en esta linia es donde hago la llamada!
<select id="empresa" name="empresa" class="combo" onChange=" myajax.Link('personal/consultes.php?id=seccio&idempresa=' + this.value, 'seccio')">

y la pagina q llamo es la siguiente:
Código PHP:
<?
require ("../../aut_verifica.inc.php");
$id=$_GET[id];
//segun la variable ID escojo uno u otro...
switch ($id) {
    case 
"seccio":
        
?>
        <select id="id_seccio" name="id_seccio" class="caixes">
        <?
        $idempresa
=$_GET[idempresa];
        if (
$idempresa==0){ ?>
            <option value="0">Selecciona Seccion...</option>
        <? }else{
            if (
$idempresa!=3){
                
$cons=" AND id_subseccio = $idempresa";
            }
            
?>
                <option value="0">Todas las Secciones</option>
            <?
            
//Select per Tipus de Maquina
            
$busqueda="SELECT id_seccio,nom_seccio FROM seccio 
                       WHERE id_empresa = $idempresa
                       "
.$cons."
                       AND id_subseccio <> 0
                       ORDER BY nom_seccio"
;
            
$sql mysql_query($busqueda) or die(mysql_error());
            
// imprimir la select
            
while($reg=mysql_fetch_row($sql))
            {
                
// Pasem a HTML accents y ñ per la seva correcta visualitzacio
                
$nom_seccio=htmlentities($reg[1]);
                
// Imprimir les opcions del select                
                
?><option value="<?=$reg[0];?>"><?=$nom_seccio;?></option>
            <? }
        }
?>
        </select>
    <?
    
break;
//...
a ver si me podeis echar una mano---

Saludos y gracias de antemano!
__________________
"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; 09/01/2007 a las 06:15
  #130 (permalink)  
Antiguo 09/01/2007, 13:27
Avatar de NzO
NzO
 
Fecha de Ingreso: abril-2005
Mensajes: 153
Antigüedad: 19 años, 8 meses
Puntos: 3
Re: Mi proyecto isiAJAX

Hola Mr.Ale vamos por pasos:

Primero: Como bien dices no se pueden subir archivos amenos que uses iframes (que ya no seria ajax) asique opte por no dar soporte para eso.

Segundo: La diferencia entre onOK y onComplete esque onOK solo se ejecutara si al recibir los datos no ha dado ningun error y porsupuesto readyState=4. onComplete se ejecuta cuando readyState=4 pero no identifica si hay errores o no. Si sabes algo de JS puedes estudiar el codigo http://isiajax.sourceforge.net/demos...AX-original.js lo que te interesa esta a partir de esta linea
Código:
if (parent.objAjax.readyState == 4) {
Tercero: Si tu recibes javascript mediante ajax y pretendes que se ejecute no vas a poder. Ni con mi libreria ni con ninguna. Tienes que estructurarlo de manera que tus javascript esten todos en la misma pagina y ejecutarlos cuando sean necesarios.

Cuarto: No puedes pasarle parametros a la funcion que pretendes ejecutar. Porque realmente tu no estas ejecutando Recibo() estas ejecutando Request y cuando se invoque el evento se ira a tu funcion pero no podras pasarle parametros. Esto no es un fallo de mi libreria, esque debe ser así. Para que te hagas una idea, prototype es una de las librerias mas usadas y tambien funciona igual. Mira este ejemplo veras como pasa lo mismo: http://victoryoalli.railsplayground....ingAjaxRequest
__________________
NzO=EnZo
isiAJAX & isiXML hechos el uno para el otro.
  #131 (permalink)  
Antiguo 09/01/2007, 13:31
Avatar de NzO
NzO
 
Fecha de Ingreso: abril-2005
Mensajes: 153
Antigüedad: 19 años, 8 meses
Puntos: 3
Re: Mi proyecto isiAJAX

sergi_climent ese ejemplo ya esta hecho:
http://isiajax.sourceforge.net/demos...os/select.html
__________________
NzO=EnZo
isiAJAX & isiXML hechos el uno para el otro.
  #132 (permalink)  
Antiguo 10/01/2007, 01:56
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 11 meses
Puntos: 10
Re: Mi proyecto isiAJAX

Hola

Cita:
Iniciado por NzO Ver Mensaje
sergi_climent ese ejemplo ya esta hecho:
http://isiajax.sourceforge.net/demos...os/select.html
ya lo vi al principio de usar tus librerias... el problema como ya te comente es q a mi el SELECT con XML no me funciona me tirava un error q no supe arreglar... y adapte el myajax.Link para usarlo para las selects.
y bueno.. no se si tiene q ver pero mis selects depende de una base de datos... y segun la opcin q escoja hace una consulta a una tabla u a otra...

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
  #133 (permalink)  
Antiguo 10/01/2007, 11:26
Avatar de Dark_Knight  
Fecha de Ingreso: diciembre-2006
Ubicación: Chile
Mensajes: 17
Antigüedad: 18 años
Puntos: 1
Re: Mi proyecto isiAJAX

Me recomendaron que usara tu libreria para solucionar una pequeña traba en un proyecto, por lo que creo que debe ser muy buena. Se agradece el esfuerzo y el haberla compartido con la gente del foro.
  #134 (permalink)  
Antiguo 10/01/2007, 19:32
 
Fecha de Ingreso: abril-2005
Mensajes: 3
Antigüedad: 19 años, 8 meses
Puntos: 0
Re: Mi proyecto isiAJAX

como agrego un caragdor a Request() ?

Porque puedo aplicar funciones de Isiajax dentro de las capas de Link() y no aplicar efectos dentro de estas mismas capas?, si los 2 son javascript ?

Gracias por la anterior respuesta...


pd: porque Isiajax y no prototype?, existen muchas limitaciones con Isiajax ?
  #135 (permalink)  
Antiguo 12/01/2007, 02:02
Avatar de NzO
NzO
 
Fecha de Ingreso: abril-2005
Mensajes: 153
Antigüedad: 19 años, 8 meses
Puntos: 3
Re: Mi proyecto isiAJAX

sergi_climent Pues si quieres hacer un tercer select dependiendo de otro en tu consultes.php tienes que modificar el select algo asi:

Código HTML:
<select id="id_seccio" name="id_seccio" class="caixes" onChange=" myajax.Link('personal/consultes.php?id=seccio2&idempresa=' + this.value, 'seccio2')"> 
Y tendria que tener un case mas para cuando lo llames de nuevo:
Código PHP:
case "seccio2"
Mr.Ale
Cita:
como agrego un caragdor a Request() ?
El cargador se agrega al crear la clase. http://isiajax.sourceforge.net/demos.../cargador.html


Cita:
Porque puedo aplicar funciones de Isiajax dentro de las capas de Link() y no aplicar efectos dentro de estas mismas capas?, si los 2 son javascript ?
Para que lo entiendas: "porque con mi horno puedo asar un pollo y con mi frigorifico no? no son los dos electrodomesticos?" xD

Puedes hacer lo mismo con isiAJAX que con prototype. Lo que pasa que si usas librerias de efectos graficos prototype te facilita mucho las cosas.
__________________
NzO=EnZo
isiAJAX & isiXML hechos el uno para el otro.

Última edición por NzO; 12/01/2007 a las 02:10
  #136 (permalink)  
Antiguo 12/01/2007, 09:42
 
Fecha de Ingreso: enero-2007
Mensajes: 1
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: Mi proyecto isiAJAX

HOla, me podrias ayudar con un ejemplo para inciar ajax en una jsp, pues necesito cargar datos al seleccionar un dato de un select de html, sin cargar de nuevo la jsp. muchas gracias, espero cualquier colaboracion que me puedas faciliar,

Ronald.
[email protected]
  #137 (permalink)  
Antiguo 13/01/2007, 06:42
Avatar de NzO
NzO
 
Fecha de Ingreso: abril-2005
Mensajes: 153
Antigüedad: 19 años, 8 meses
Puntos: 3
Re: Mi proyecto isiAJAX

Si supiese JSP te ayudaria, pero no es el caso. De todas formas los ejemplos estan en PHP y ASP. Con poco JSP que sepas podras adaptarlo a tus necesidades. Suerte.
__________________
NzO=EnZo
isiAJAX & isiXML hechos el uno para el otro.
  #138 (permalink)  
Antiguo 16/01/2007, 12:48
 
Fecha de Ingreso: agosto-2006
Mensajes: 388
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: Mi proyecto isiAJAX

bueno perdonen pero no puedo acceder al sitio para verlo, si pueden tirarme algo mejor, gracias y saludos
  #139 (permalink)  
Antiguo 07/02/2007, 03:27
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 11 meses
Puntos: 10
Re: Mi proyecto isiAJAX

Hola de nuevo...
la idea es la siguiente, tengo una lista bastante larga de articulos, pues he puesto una imagen para saber a simple vista si los articulos estan de baja o de alta, y lo q intento hacer es q al clickar la imagen, si es de alta dar d baja el articulo y vicebersa. para recargar la consulta y q me muestre la imagen correcta uso el siguiente link: (llama a la misma pagina donde estoy)
Código PHP:
<a href="maquina/situacio_maquina.php?id=alta&id_maquina=<?=$res_busca[0].$ur;?>" onClick="myajax.Link(this.href, 'main')">
y al hacerlo no me carga la respuesta en el div q le estoy diciendo y me tira el siguiente error(el error esta sacado de la consola de Firefox)
Error: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: http://localhost/maquines/js/isiajax.js :: anonymous :: line 7" data: no]
Archivo de origen: http://localhost/maquines/js/isiajax.js
Línea: 7

a ver si me puedes echar un cable..

saludos y gracias de antemano...
__________________
"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
  #140 (permalink)  
Antiguo 07/02/2007, 17:04
Avatar de NzO
NzO
 
Fecha de Ingreso: abril-2005
Mensajes: 153
Antigüedad: 19 años, 8 meses
Puntos: 3
Re: Mi proyecto isiAJAX

El unico error que ve es que no has añadido # al principio de la url a enlazar. No veo mas errores excepto ese. Esque con esa informacion que me das no puedo ver a que se debe. Espero que sea eso, pero no creo. Porque no te saldria error y recargaria la pagina directamente.
__________________
NzO=EnZo
isiAJAX & isiXML hechos el uno para el otro.
  #141 (permalink)  
Antiguo 09/02/2007, 09:52
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 11 meses
Puntos: 10
Re: Mi proyecto isiAJAX

Hola, cerre el explorador, borre cookies, etc etc etc, pues el # y ya no me da el error...

y luego comentarte una cosita... lo de insitu...
si yo tengo lo siguiente:
Código HTML:
<input type="text" id="data_garantia" name="data_garantia" onFocus="Focus(this.id, this.value)" onBlur="Blur(this.id, this.value, 'data_garantia', <?=$res_ficha[0];?>, 'maquina')" class="inputoff" value="<?=$data_garantia;?>" size="15" /><img align="absmiddle" src="img/icon/calendari.gif" onClick="displayDatePicker('data_garantia');" width="34" height="22" border="0" alt=""> 
es decir un datepicker, q me llena un input... como podria hacer para q me cojiera los eventos al meterle la fecha?

a ver si me puedes ayudar en esto...

gracias y 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; 09/02/2007 a las 10:31
  #142 (permalink)  
Antiguo 19/02/2007, 05:16
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 11 meses
Puntos: 10
Re: Mi proyecto isiAJAX

Hola de nuevo NZO,
me he enconatrado con un pequeño/grande problema en tu clase de isiAJAX, el problema lo tengo con ciertas variables de formulario.
tengo un input con el siguiente valor: '&elimianda=0' este valor lo mando por post a traves d una formulaio a otra pagina para hacer un ingreso... pues esta varibale no me llega... en cambio si no uso isiAJAX es decir, llamo a la pagina normal si q lo hace....

sabrias decirme a q es debido?
hay alguna solucion?
te dejo el ilo de lo q me pasa...
http://www.forosdelweb.com/f18/duda-pasar-variable-form-466167/

saludos y muchas gracias por tu atencion...
__________________
"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; 19/02/2007 a las 05:29
  #143 (permalink)  
Antiguo 24/02/2007, 06:21
Avatar de NzO
NzO
 
Fecha de Ingreso: abril-2005
Mensajes: 153
Antigüedad: 19 años, 8 meses
Puntos: 3
Re: Mi proyecto isiAJAX

Perdona por contestar tan tarde, alomejor ni te sirve ya. Pero si tiene solucion tu problema. Es un fallo de mi libreria que he de solucionar para la version 2.

De todas formas la solucion es muy simple.

Debes coger http://isiajax.sourceforge.net/demos...AX-original.js busca esto:

Código:
//Recoge y da formato a los datos de un formulario para enviarlos
	this.DataForm =
		function (obj) {
			var resultado='';
			this.Add =
				function (nombre, valor) {
					resultado += nombre+'='+valor;
					if ((i+1) < obj.length) 
						resultado+='&';
				........
Y sustituye esta linea:
Código:
resultado += nombre+'='+valor;
Por:
Código:
resultado += nombre+'='+encodeURIComponent(valor); 
No lo he cambiado directamente porque cuando lo haga ya lo hare para la version 2 de isiAJAX. Sorry.
__________________
NzO=EnZo
isiAJAX & isiXML hechos el uno para el otro.
  #144 (permalink)  
Antiguo 24/02/2007, 21:27
 
Fecha de Ingreso: febrero-2007
Mensajes: 7
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Mi proyecto isiAJAX

NzO soy muy nuevo en AJAX, cogí tu ejemplo lo puse en mi directorio de publicación de APACHE, y seguí tus instrucciones para crear la base de datos pero en el ejemplo usando bases de datos no funcioona, ni siquiera se llenan los campos select, puedes ayudarme
  #145 (permalink)  
Antiguo 26/02/2007, 01:36
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 11 meses
Puntos: 10
Re: Mi proyecto isiAJAX

Cita:
Iniciado por NzO Ver Mensaje
Perdona por contestar tan tarde, alomejor ni te sirve ya. Pero si tiene solucion tu problema. Es un fallo de mi libreria que he de solucionar para la version 2.
No lo he cambiado directamente porque cuando lo haga ya lo hare para la version 2 de isiAJAX. Sorry.
nunca es tarde si la dicha es buena...

Muchas gracias NzO!
PD:esperamos a ver con q nos sorprendes en la version 2...

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
  #146 (permalink)  
Antiguo 12/03/2007, 05:41
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 11 meses
Puntos: 10
Re: Mi proyecto isiAJAX

Hola Nzo...

una consulta:
utilizo la clase PHPLOT para generar graficos, yo le paso un array y la clase me devuelve una imagen.
el caso es q si llamo a la direccion sin usar ajax, se muestra el grafico correctamente, ahora bien, si lo llamo con myajax.link se veen todo de simbolos raros.. como si fuera incapaz d interpretarlo...

alguna idea d como puedo solucionar esto?

saludos y muchas gracias por tu ayuda!
__________________
"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
  #147 (permalink)  
Antiguo 12/03/2007, 11:56
Avatar de NzO
NzO
 
Fecha de Ingreso: abril-2005
Mensajes: 153
Antigüedad: 19 años, 8 meses
Puntos: 3
Re: Mi proyecto isiAJAX

Pero esa imagen donde la cargas en un div? Deberias cargarla en una imagen con la funcion Img() de isiAJAX.
http://isiajax.sourceforge.net/demos/basicos/img.html

De todas formas asegurate de que las cabeceras php sean correctas.
Si es un jpg al php que genere la imagen deberás ponerle:
Código PHP:
header('Content-Type: image/jpeg'); 
__________________
NzO=EnZo
isiAJAX & isiXML hechos el uno para el otro.
  #148 (permalink)  
Antiguo 13/03/2007, 01:39
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 11 meses
Puntos: 10
Re: Mi proyecto isiAJAX

a ver q me aclare...

yo tengo una pagina index, donde tengo los links de varios graficos

Código HTML:
<?	
require ("../../../aut_verifica.inc.php");
?>
<table align="center" width="80%" border="0">
<tr>
<td>
	<table align="center">
	<tr><td align="center" class="titol">Graficos de Averias</td></tr>
	</table>
</td>
</tr>
<tr>
<td>
	<table align="center">
	<tr>
		<td align="center">
		<a href="#averia/grafics/averia_seccions.php" onclick="myajax.Link(this.href, 'grafic');
" >averia_seccions.php</a>
		</td>
	</tr>
	</table>
</td>
</tr>
</table>
<div id="grafic"></div>
<!-- aqui es donde tendria q poner la imagen <img id="grafic" src="" /> -->
<!--Cambiando el myAjax.Link por myAjax.Img no???? --> 
en el div grafic es donde se cargara la pagina q lleva el grafico

esta pagina es el array q le paso a PHPLOT para q me devuelva la imagen
Código PHP:
<?
//esto seguro q hay q ponerlo ? header('Content-Type: image/jpeg');  
require ("../../../aut_verifica.inc.php");
require (
"../../funcions/phplot.php");

$data = array(
    array(
"__A__",0.0,20,4,5,6),
    array(
"__B__",2.0,30,5,6,7),
    array(
"__C__",3.0,40,5,7,8),
    array(
"__D__",4.0,50,3,6,3),
    array(
"__E__",4.4,40,3,6,5),
    array(
"__F__",5.4,40,5,6,5),
    array(
"__G__",5.5,40,7,6,5)
);

//Define the object
$graph = new PHPlot;
$graph->SetDataType("linear-linear");
$graph->SetDataValues($data);

//Draw it
$graph->DrawGraph();
?>
pero claro, la imagen se genera automaticamente, y si lo hago como tu me has dicho me dice q la pagina no se encuentra...


voy algo perdido con esto... a ver si me puedes/podeis echar una mano!

PD: si hago un link normal, abriendolo en una pagna nueva el grafico se vee correctamente...
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; 13/03/2007 a las 02:07
  #149 (permalink)  
Antiguo 13/03/2007, 14:19
Avatar de NzO
NzO
 
Fecha de Ingreso: abril-2005
Mensajes: 153
Antigüedad: 19 años, 8 meses
Puntos: 3
Re: Mi proyecto isiAJAX

1º Para lo que quieres hacer usa la funcion Img(). En ese caso usala igual que estas usando Link.
2º Ya tienes un div con id "grafic" y por eso te lo cargaba en el div. O le cambias el nombre al div o se lo cambias a la imagen, porque si no te va a crear conflicto.
3º No se como funciona esa clase, por lo tanto no se si las cabeceras te las pone correctamente. Aunque si dices que al abrirla directamente te funciona es porque si lo hace. Asique no le pongas el header.

Salu2
__________________
NzO=EnZo
isiAJAX & isiXML hechos el uno para el otro.
  #150 (permalink)  
Antiguo 14/03/2007, 01:47
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 11 meses
Puntos: 10
Re: Mi proyecto isiAJAX

hola,
Antetodo muchas gracias por tu respuesta...
Cita:
1º Para lo que quieres hacer usa la funcion Img(). En ese caso usala igual que estas usando Link.
ok! este paso lo he probado por eso el codigo comentado en HTML
Cita:
2º Ya tienes un div con id "grafic" y por eso te lo cargaba en el div. O le cambias el nombre al div o se lo cambias a la imagen, porque si no te va a crear conflicto.
el codigo q te puse era como ejemplo, si te fijas esta en HTML comentado <!--xxxx--> con eso asi no da ningun conflicto
Cita:
3º No se como funciona esa clase, por lo tanto no se si las cabeceras te las pone correctamente. Aunque si dices que al abrirla directamente te funciona es porque si lo hace. Asique no le pongas el header.
Salu2
con lo de IMG me sale el Mesaje diciendome q no encuentra la imagen, bueno el Error : 404 NOT FOUND

hay alguna solucion... sino q opciones me kedan? q opinas?

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
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

SíEste tema le ha gustado a 11 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 04:53.