Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    Utente di HTML.it L'avatar di Anxx
    Registrato dal
    Jul 2009
    Messaggi
    12
    Sull'ordine di esecuzione hai perfettamente ragione, ora ti posto il codice a cui sono arrivato:

    function prenota(data) {
    params = "orderdate="+data;
    params += "&insertYN=Y";
    params += "&ora="+(document.getElementById("ora").value) ;
    params += "&minuto="+document.getElementById('minuto').value ;
    params += "&nome="+document.getElementById('nome').value ;
    params += "&cognome="+document.getElementById('cognome').val ue;
    params += "&type="+document.getElementById('type').value ;
    params += "&istruttore="+document.getElementById('istruttore ').value;
    //alert(params);
    sendRequest('POST', 'vediPrenotati.php', params, 'visualizza');

    if(document.getElementById('prenOK')) {
    ok=document.getElementById('prenOK').value;

    if(ok=="OK") {
    alert("OK");
    } else {
    alert("NOT OK");
    }
    }
    }

    Logicamente alert() è solo per prova, poi lo sostituirò con le vere funzioni che mi servono...
    Ma arriviamo al dunque.... io penso che il problema sia che il codice javascript venga eseguito prima dell'inserimento della pagina dei risultati nel terzo div, infatti alla prima pressione del tasto prenota l'alert non appare, ma nelle successive si, e se riapro la pagina nel browser rifà la stessa cosa, la prima volta no, le successive si...
    Lo stato 4 lo gestisco correttamente come di seguito...

    ajax.onreadystatechange = function() {

    var response="";

    if (ajax.readyState == 0) response = "Inizializzazione in corso...";

    if (ajax.readyState == 1) response = "content","Connessione avviata...";

    if (ajax.readyState == 2) response = "content","Invio dati in corso...";

    if (ajax.readyState == 3) response = "content","Ricezione dati in corso...";

    if (ajax.readyState == 4 && ajax.status==200) {

    response = ajax.responseText;

    } else response = "Operazione fallita! Errore numero " + ajax.status;

    document.getElementById(content).innerHTML = response;

    La soluzione ideale sarebbe quella di usare una funzione di callback come dice UnderMaken, ma questo mi complica tutto il codice e cmq penso sia attuabile soltanto se si utilizza xml er la response, mentre il utilizzo il semplice testo.
    Ho trovato questo link che ricalca perfettamente il problema, vedi il punto .b
    http://www2.mokabyte.it/cms/article....91084_0d693157

    Devo capire ora se si riesce a fare con la response in testo, o se posso convertire tutto facilmente in xml.
    -----

    Al mondo ci sono solo 10 tipi di persone: chi comprende il sistema binario e chi no...

  2. #12
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    E si ci vorrebbe la callback prorpio per i tempi e quindi una cosa simile

    ajax.onreadystatechange = function() {

    var response="";

    if (ajax.readyState == 0) response = "Inizializzazione in corso...";

    if (ajax.readyState == 1) response = "content","Connessione avviata...";

    if (ajax.readyState == 2) response = "content","Invio dati in corso...";

    if (ajax.readyState == 3) response = "content","Ricezione dati in corso...";

    if (ajax.readyState == 4 && ajax.status==200) {

    qui: fai quello che devi e una volta fatto allora continua lo script con:

    if(document.getElementById('prenOK')) {
    ok=document.getElementById('prenOK').value;

    if(ok=="OK") {
    alert("OK");
    } else {
    alert("NOT OK");......

    altrimenti lo fermi

    response = ajax.responseText;





    }

  3. #13
    Utente di HTML.it L'avatar di Anxx
    Registrato dal
    Jul 2009
    Messaggi
    12
    Perfetto!
    Ho fatto così e funziona, devo però inserire il flag e trasformare tutto in xml...
    -----

    Al mondo ci sono solo 10 tipi di persone: chi comprende il sistema binario e chi no...

  4. #14
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    bene, non so che devi fare con xml se posso ti aiuto

  5. #15
    Utente di HTML.it L'avatar di Anxx
    Registrato dal
    Jul 2009
    Messaggi
    12
    Beh si...
    ipotizziamo ke la mia response sia

    <?xml version="1.0" ?>
    <root>
    <prenotazione>OK</prenotazione>
    <pagina>
    ........testo da visualizzare......
    </pagina>
    </root>

    Come faccio ad accedere ai valori dalla classe javascript?
    Ho provato con ajax.responseXML.getElementsByTagName("prenotazion e")[0].data ma non funziona....
    -----

    Al mondo ci sono solo 10 tipi di persone: chi comprende il sistema binario e chi no...

  6. #16
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Non sono afferratissimo per lettura xml con js onestamente.. Ma sul forum sicuramente ci sono piu post per questo.

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.