Visualizzazione risultati 1 fino 8 di 8

Discussione: [AJAX] Leggere input senza ricaricare pagina

  1. #1
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito [AJAX] Leggere input senza ricaricare pagina

    Ho questa pagina e vorrei fare in modo che cliccando su Submit i dati contenuti nella caselle di testo venissero letti in stringhe php ma senza riaggiornare la pagina.
    Mi date una mano?

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Prova a dare un'occhiata a questa discussione, il problema è molto simile... http://forum.it.altervista.org/php-m...a-esterna.html

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Non so niente di AJAX, me lo spiegheresti con un esempio più semplice?
    Resta il problema di dover usare due codici diversi tra FF e IE?

  4. #4
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    In quella discussione (per la precisione qui: http://forum.it.altervista.org/php-m...tml#post667469) ti ho praticamente inserito il codice AJAX (JavaScript in sostanza) che devi usare.

    A te non rimane altro che scrivere un file PHP che produca un output che devi verificare con JavaScript: nell'esempio sopra lo script si aspettava che l'output fosse semplicemente il numero 0 (zero), tu puoi personalizzarlo secondo le tue esigenze... che se non specifichi più in dettaglio non posso tirare ad indovinare.

    Quanto al problema di IE, è perché questo non riconosce l'oggetto XMLHttpRequest: devi quindi prevedere questa possibilità, il codice con cui devi sostituire la prima riga dovrebbe essere questo (prelevato da http://en.wikipedia.org/wiki/XMLHttpRequest)
    Codice:
    // create ajaxObject supports all browser with XMLHttpRequest Support
    ajaxObject = function() {
    try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch(e){
    try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch(e){
    try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e){
    try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e){
    try { return new XMLHttpRequest() } catch(e){
    throw new Error( "This browser does not support XMLHttpRequest." );
    }}}}}}
    ajax = new ajaxObject(); // use ajaxObject to start XMLHttpRequest() for most browsers
    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  5. #5
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Per quanto riguarda le mie esigenze io vorrei leggere i dati dalle caselle di input, verificare che siano corretti (usando uno script che ho fatto in PHP), in caso affermativo caricare un certo codice al posto delle caselle di input, in caso negativo caricando un certo messaggio di errore al posto delle caselle di input.

  6. #6
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Provo a darti qualche linea guida, dando per scontate un minimo di tue competenze in PHP e JavaScript (se così non fosse, fammelo sapere...)

    1. Lo script PHP dovrà verificare che i dati siano corretti, e per farlo dovrà produrre un ben determinato output di cui tu sia a conoscenza del formato (va benissimo anche un semplice "dati validi" o "dati non validi")

    2. Sulla pagina del form crea un elemento DIV vuoto, che abbia un ID assegnato e che andrai a modificare attraverso JavaScript, ad esempio:
    Codice HTML:
    <div id="check_output"></div>
    3. Usando il template che ti ho linkato al post #2, inserisci nel terzo if (dopo responseText) il testo che ti aspetti di ricevere in caso di dati corretti. All'interno dei due rami dell'if inserirai il codice che modificherà il testo dell'area di verifica, qualcosa tipo:
    Codice:
    document.getElementById('check_output').innerHTML = '...'; // nuovo codice HTML
    3-alternativa: una volta che hai accertato la riuscita dello script (status HTTP 200), puoi anche stampare direttamente la variabile responseText nel DIV che hai predisposto. Naturalmente, in questo caso, con PHP dovrai generare direttamente il codice HTML che ti serve a riempirlo (nell'uno o nell'altro caso)

    4. L'altro ramo del secondo if sarà eseguito se la pagina restituirà un errore (in tecnichese: lo status HTTP è diverso da 200, se fosse 404 - Not found ad esempio non troverebbe lo script). A te valutare se lasciarlo e gestirlo in qualche modo...

    Stammi bene...
    Ultima modifica di dementialsite : 20-05-2009 alle ore 09.43.41
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  7. #7
    Guest

    Predefinito

    mi si presenta Errore 404 : altervista. Come risolverlo? grazie Non so nulla di computer . Sapete dirmi se c'è una forum che parla solo di questo problema? grazie

  8. #8
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Non riesco a capire quale sia il collegamento con questa discussione... comunque l'errore HTTP 404 indica che è stato richiesto un file che non esiste sul server. Prova a controllare se:
    - il file che cerchi è presente e nella posizione corretta
    - se chiami il file attraverso un link, verifica che sia scritto correttamente (comprese le lettere maiuscole e minuscole)

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •