Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Problema XmlHttp ed If

  1. #1

    Problema XmlHttp ed If

    Buongiorno a tutti. Vi chiedo aiuto per la risoluzione di un problema con Javascript (linguaggio che non conosco molto bene). Credo che la soluzione possa esser banale per voi, ma ci sto sbattendo da giorni. Arrivo al punto.

    Tramite una richiesta Xmlhttp (funzionante) ottengo una stringa che suddivido in un array con split.

    codice:
    ..
    ..
    var returned = obj_XmlHttp.responseText; 
    var valori = returned.split("@"); 
    
    if (valori[1]=='Si') {
        PlaySound("sound1"); 
    } else {
        document.write("Caso2");
    }
    PlaySound è una funzione che emette un suono, funzionante.
    La variabile valori[1] assume valore "Si" oppure "No" (test effettuati, assume effettivamente questi valori).
    Il Problema è l'IF, mi esegue sempre l'else, anche quando valori[1] è "Si".
    Dove sbaglio? Devo utilizzare una sintassi diversa per digli di confrontare il contenuto dell'array?

    Vi ringrazio infinitamente in anticipo.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Fai questo test:

    rv="";for(var i=0;i<valori[1]length;i++){rv=rv+"#"+valori[1].charCodeAt(i)}alert(rv)
    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
    Ti ringrazio br1!
    Ho utilizzato il tuo codice (aggiungendo qualche punto e virgola mancante):

    codice:
    var rv="";
    for(var i=0;i<valori[1].length;i++){
        rv=rv+"#"+valori[1].charCodeAt(i);
    } alert(rv);
    e il risultato è stato significativo: ricevevo una variabile di 3 caratteri, comprensiva di uno spazio finale.
    Ho quindi risolto ponendo:

    codice:
    if (valori[1]="Si ") {
    Dovrò quindi trovare una funzione che mi elimini gli spazi ad inizio e fine variabile, e non credo sarà difficile (programmo in php, conosco ben poco di javascript).
    Grazie ancora br1

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Be invece che togliere gli spazi potresti usare il metodo indexOf che verifica che nella stringa/array ci sia quella determinata parola/lettera e restituisce la sua posizione altrimenti -1 (non trovata):
    if (valori[1].indexOf("Si") !=-1) {
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Ottimo suggerimento, grazie ancora a tutti

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.