Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17
  1. #11
    in questo modo mi apre direttamente la pagina con lo script php (includes/contatti/form.php) con il risultato, ma non nella stessa pagina da dove la chiamo, cioè contatti.php.

    poi scusa la mia MOLTA ignoranza nel campo javascript/ajax..

    $('iddiv').set('text', text); --> $('log').set('text', text);

    ma al posto di 'text' e text cosa devo mettere?

    'text' sarebbe il messaggio lanciato dal javascript all'evento associato onSuccess()? cioè ad esempio potrei scriverci "ecco i risultati"?
    e text sarebbe il dato di ritornodall'echo dello script form.php?

    cmq non funziona lo stesso
    Per una battaglia sono sempre a disposizione

  2. #12
    ho fatto tuttto come questo esempio ma non va
    Per una battaglia sono sempre a disposizione

  3. #13
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    Originariamente inviato da sidvizioso

    $('iddiv').set('text', text); --> $('log').set('text', text);

    ma al posto di 'text' e text cosa devo mettere?

    'text' sarebbe il messaggio lanciato dal javascript all'evento associato onSuccess()? cioè ad esempio potrei scriverci "ecco i risultati"?
    e text sarebbe il dato di ritornodall'echo dello script form.php?

    cmq non funziona lo stesso
    si in pratica si... text senza apici sarebbe il transport della chiamata AJAX(almeno per prototype è cosi), cioè un parametro che indica i valori ritornati dal file php che si occupa di ricevere la chiamata. 'text' con apici è una cosa interna a mootools penso sia qualcosa riguardante l'inserimento di un testo all'interno di un elemento block della pagina...
    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  4. #14
    ci rinuncio.
    ne con mootools ne direttamente creando l'oggetto hmlhttrequest() manualmente come descritto in html.it,w3schools, e altri milioni di altri siti, riesco a far funzionare ste chiamate asincrone.

    ho addirittura copiato identicamente questo esempio ma niente.
    Per una battaglia sono sempre a disposizione

  5. #15
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    be visto che vuoi abbandonare motools, prova prototype che è leggermente più giostrabile...
    ti do un link utile con molti esempi

    http://www.sergiopereira.com/articles/prototype.js.html
    http://snipplr.com/view/3563/prototype-ajax-request/


    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  6. #16
    cmq ho risolto manualmente

    Codice PHP:
    // funzione per assegnare un oggetto XMLHttpRequest
    function assegnaXMLHttpRequest() {
        var
            
    XHR null,
            
    browserUtente navigator.userAgent.toUpperCase();
        if(
    typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object") {
            
    XHR = new XMLHttpRequest();
        } else if(
    window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0) {
            if(
    browserUtente.indexOf("MSIE 5") < 0) {
                
    XHR = new ActiveXObject("Msxml2.XMLHTTP");
            } else {
                
    XHR = new ActiveXObject("Microsoft.XMLHTTP");
            }
        }
        return 
    XHR;
    }


    // oggetto di verifica stato
    var readyState = {
            
    INATTIVO:    0,
            
    INIZIALIZZATO:    1,
            
    RICHIESTA:    2,
            
    RISPOSTA:    3,
            
    COMPLETATO:    4
    };


    // array descrittivo dei codici restituiti dal server
    var statusText = new Array();
    statusText[100] = "Continue";
    statusText[101] = "Switching Protocols";
    statusText[200] = "OK";
    statusText[201] = "Created";
    statusText[202] = "Accepted";
    statusText[203] = "Non-Authoritative Information";
    statusText[204] = "No Content";
    statusText[205] = "Reset Content";
    statusText[206] = "Partial Content";
    statusText[300] = "Multiple Choices";
    statusText[301] = "Moved Permanently";
    statusText[302] = "Found";
    statusText[303] = "See Other";
    statusText[304] = "Not Modified";
    statusText[305] = "Use Proxy";
    statusText[306] = "(unused, but reserved)";
    statusText[307] = "Temporary Redirect";
    statusText[400] = "Bad Request";
    statusText[401] = "Unauthorized";
    statusText[402] = "Payment Required";
    statusText[403] = "Forbidden";
    statusText[404] = "Not Found";
    statusText[405] = "Method Not Allowed";
    statusText[406] = "Not Acceptable";
    statusText[407] = "Proxy Authentication Required";
    statusText[408] = "Request Timeout";
    statusText[409] = "Conflict";
    statusText[410] = "Gone";
    statusText[411] = "Length Required";
    statusText[412] = "Precondition Failed";
    statusText[413] = "Request Entity Too Large";
    statusText[414] = "Request-URI Too Long";
    statusText[415] = "Unsupported Media Type";
    statusText[416] = "Requested Range Not Satisfiable";
    statusText[417] = "Expectation Failed";
    statusText[500] = "Internal Server Error";
    statusText[501] = "Not Implemented";
    statusText[502] = "Bad Gateway";
    statusText[503] = "Service Unavailable";
    statusText[504] = "Gateway Timeout";
    statusText[505] = "HTTP Version Not Supported";
    statusText[509] = "Bandwidth Limit Exceeded";


    // funzione di caricamento testo,
    // accetta una stringa contenente
    // il nome di un file da leggere
    function ajaxthis(idelemento,idform,nomeFile,tipoconn) {
        
    // assegnazione oggetto XMLHttpRequest
        
    ajax assegnaXMLHttpRequest();

        
    // assegnazione elemento del documento
        
    elemento document.getElementById(idelemento);

        
    imgload document.getElementById("loading");

        
    butsubmit document.getElementById("imgsubmit");
        
        
    butsubmit.disabled=true;
        
    imgload.style.visibility="visible";
        
    imgload.style.display="block";
        
        if (
    document.getElementById(idform).elements.length 0) {
            
    stringa PreparaDati(idform);
        } else {
            
    stringa "";
        }

        
    ajax.open(tipoconnnomeFiletrue);
        
    ajax.onreadystatechange = function() {
            
    // verifica dello stato
            
    if(ajax.readyState == 4) {
                
    // verifica della risposta da parte del server
                
    if(ajax.status == 200) {
                    
    // operazione avvenuta con successo
                    
    butsubmit.disabled=false;
                    
    imgload.style.visibility="hidden";
                    
    imgload.style.display="none";
                    
    elemento.innerHTML ajax.responseText;
                } else {
                    
    // errore di caricamento
                    
    butsubmit.disabled=false;
                    
    imgload.style.visibility="hidden";
                    
    imgload.style.display="none";
                    
    elemento.innerHTML "<span style=\"color: #cc0000\">Impossibile effettuare l'operazione richiesta.
    Errore riscontrato: " 
    statusText[ajax.status] + "</span>";
                }
            }
        }

        
    // impostazione richiesta asincrona in GET o POST
        // del file specificato
        
    if (tipoconn == "get") {
            
    ajax.setRequestHeader("Connection""close");
        } else {
            
    ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
            
    ajax.setRequestHeader("Content-length"stringa.length);
            
    ajax.setRequestHeader("Connection""close");
        }

        if (
    tipoconn == "get") {
            
    ajax.send(null);
        } else {
            
    ajax.send(stringa);
        }
    }

    function 
    PreparaDati(idform){
        
    stringa "";
        var 
    form document.getElementById(idform);
        var 
    numeroElementi form.elements.length;

        for(var 
    0numeroElementii++){
            if(
    numeroElementi-1) {
                
    //stringa += form.elements[i].name+"="+escape(encodeURIComponent(form.elements[i].value))+"&";
                
    stringa += form.elements[i].name "=" form.elements[i].value "&";
            } else {
                
    //stringa += form.elements[i].name+"="+escape(encodeURIComponent(form.elements[i].value));
                
    stringa += form.elements[i].name "=" form.elements[i].value;
            }
        }
        return 
    stringa;

    Cmq per il fatto di evitare un eventuale timeout della richiesta come devo modificare il codice? ho visto questa guida su html.it ma siccome il codice non è "identato bene" non capisco precisamente in quali blocchi inserire il codice..

    cmq se volete darmi altri consigli saranno ben accetti!!
    grazie ancora
    Per una battaglia sono sempre a disposizione

  7. #17
    scusate se rompo ancora...

    allora, io valido gli input lato server tramite php ma vorrei procedere con una sorta di "pre"validazione javascript.

    ho provato ad usare questo codice il quale controlla se i campi sono vuoti, e se vuoti modifica lo stile degli input per evidenziare l'errore.
    il problema e che quando clicco il tasto submit tutto viene effettuato correttamente, se vuoti i campi vengono evidenziati, ma se riclicco submit e magari un campo non è più vuoto il box rimane evidenziato... in che modo posso agire?
    scusatemi ma sono povero di nozioni js..
    cmq posto il codice di esempio


    Codice PHP:
    // funzione di caricamento testo,
    // accetta una stringa contenente
    // il nome di un file da leggere
    function ajaxthis(idelemento,idform,nomeFile,tipoconn) {
        
    // assegnazione oggetto XMLHttpRequest
        
    ajax assegnaXMLHttpRequest();
        
        
    // assegnazione elemento del documento
        
    elemento document.getElementById(idelemento);
        
        
    imgload document.getElementById("loading");
        
        
    butsubmit document.getElementById("imgsubmit");
            
        
    butsubmit.disabled=true;
        
    imgload.style.visibility="visible";
        
    imgload.style.display="block";
            
        if(
    document.getElementById(idform).elements.length 0) {
            
    stringa PreparaDati(idform);
        } else {
            
    stringa "";
        }
        
        
    ajax.open(tipoconnnomeFiletrue);
        
    ajax.onreadystatechange = function() {
            
    // verifica dello stato
            
    if(ajax.readyState == 4) {
                
    // verifica della risposta da parte del server
                
    if(ajax.status == 200) {
                    
    // operazione avvenuta con successo
                    
    butsubmit.disabled=false;
                    
    imgload.style.visibility="hidden";
                    
    imgload.style.display="none";
                                    
                                    
    //quì il codice aggiunto
                    
    if(ajax.responseText.indexOf('Il campo "Nome"')) {
                        
    document.getElementById(idform).elements[0].style.border="4px solid #cc0000";    
                        
    document.getElementById("cname").style.color="#cc0000";
                    } else {
                        
    document.getElementById(idform).elements[0].style.border="1px solid #006600";
                    }
                    if(
    ajax.responseText.indexOf('Il campo "E-mail"')) {
                        
    document.getElementById(idform).elements[1].style.border="4px solid #cc0000";    
                        
    document.getElementById("cmail").style.color="#cc0000";
                    } else {
                        
    document.getElementById(idform).elements[1].style.border="1px solid #006600";
                    }
                    if(
    ajax.responseText.indexOf('Il campo "Testo"')) {
                        
    document.getElementById(idform).elements[2].style.border="4px solid #cc0000";    
                        
    document.getElementById("ctext").style.color="#cc0000";
                    } else {
                        
    document.getElementById(idform).elements[2].style.border="1px solid #006600";
                    }
                                    
    //fine codice aggiunto 

                    
    elemento.innerHTML ajax.responseText;
                } else {
                    
    // errore di caricamento
                    
    butsubmit.disabled=false;
                    
    imgload.style.visibility="hidden";
                    
    imgload.style.display="none";
                    
    elemento.innerHTML "Impossibile effettuare l'operazione richiesta.
    Errore riscontrato: " 
    statusText[ajax.status];
                }
            }
        } 
    grazie ancora
    Per una battaglia sono sempre a disposizione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.