Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    169

    javascript - utilizzo XMLHttpRequest

    ciao a tutti!
    sto usando l'oggetto XMLHttpRequest per verificare in fase di inserimento di un record se il valore del campo chiave esiste già ed evitare quindi di tentare di eseguire una query di insert che saprei gia a priori non funzionare.

    dunque...il mio codice fa in modo che una volta premuto il tasto conferma venga attivato questo javascript:
    ----------- script --------
    ctrlLocalKeyValue(document.getElementById('CDLogin ').value)
    if (document.getElementById('aja_cnts').innerHTML!='' ) {
    alert('Codice non valido');
    return false;
    }
    ----------- fine script --------

    e questo è il corpo della funzione:
    ----------- script --------
    function ctrlLocalKeyValue(pValue){
    request.open("GET", "../include/ctrlKeyDB.asp?table=<%=tableName%>&field=<%=tableK eyField%>&value="+pValue);
    request.onreadystatechange = sever_interaction;
    document.getElementById('aja_cnts').innerHTML='';
    request.send('');
    }

    ----------- fine script --------


    detto questo il problema è che per un problema di sincronizzazione o altro il controllo

    if (document.getElementById('aja_cnts').innerHTML!='' )

    non intercetta mai niente, anche se il codice è effetivamente sbagliato.
    se metto un alert() prima del controllo , questo funziona invece correttamente.
    ho provato a mettere un ciclo, ma vado in loop e su firefox mi fa addirittura vedere un messaggio di script troppo lungo.

    avevo anche pensato di richiamare il controllo sull'onchange della casella di testo, e non sul pulsante.

    mi date una mano?

    grazie!

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il controllo del valore restituito lo devi mettere nella funzione (sever_interaction) che tratta il valore restituito dal server...

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    169
    ok grazie adesso provo

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    169
    dunque ...questa è la mia funzione:

    function sever_interaction()
    {
    if(request.readyState == 1)
    {

    document.getElementById('aja_cnts').innerHTML='';
    document.getElementById('aja_cnts').innerHTML = 'Loading...';

    }
    if(request.readyState == 4)
    {
    var answer = request.responseText;
    document.getElementById('aja_cnts').innerHTML='';
    document.getElementById('ctrlKey').value = answer;
    alert('123');
    alert(answer);
    }
    }
    se poi nella funzione di controllo (quella che chiama la ctrlLocalKeyValue) faccioun test sul valore di document.getElementById('ctrlKey').value
    è vuoto.
    però ho notato uina cosa...vedi i 2 alert, mi viene mostrato prima quello della aswer(vuoto) e poi '123'

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 © 2025 vBulletin Solutions, Inc. All rights reserved.