Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Javascript e accesso a Tag annidate

    Salve a tutti e' da un po' che seguo questi forum ma e' la prima volta che ho un vero dubbio (piu' che problema) e quindi mi sono registrato solo adesso, passo subito al dunque:

    in un file HTML ho una memberlist fatta cosi' (in realta' viene aggiornata dinamicamente ma questo non dovrebbe essere un problema)

    codice:
    <div id="members">
    <span class="member">Member1</span>
    
    <span class="member">Member2</span>
    
    <span class="member">Member3</span>
    
    <span class="member">Member4</span>
    
    
    //etc
    </div>
    e ho un eventHandler + una funzione che dovrebbe ceckarmi se lo username inserito da form sia nullo (in qual caso da' un errore) o se lo username esiste gia' nella memberlist, nel qual caso dovrebbe dare un altro errore. Questo e' il codice a cui avevo pensato (dopo aver chiesto suggerimento ad altri amici):

    codice:
    join: function() {
    			var name = username.value;
    			if (name == null || name.length == 0) {
    				alert('Please enter a username!');
    			} else {
    				var ilDiv = document.getElementById('members'); 
                                   var iFigli = ilDiv.getElementsByTagName('span'); 
                                   for (i = 0; i < iFigli.length; i++) { 
                                         var ilFiglio = iFigli[i]; 
                                         if (ilFiglio.innerHTML == name) { 
                                             alert('Username already in use!');
                                          }
                                         else continue;
                                     }
                            //ed il resto del codice a seguire
                         }
                    }
    Il problema e' che mi fa loggare lo stesso anche se lo username e' gia' presente, quindi o unFiglio.innerHTML non e' il modo giusto per identificare quello che voglio io (Member1, Member2 etc) o mi sfugge qualcos'altro.

    Grazie in anticipo.

  2. #2
    Alla riga sopra if (ilFiglio.innerHTML == name) {

    fai stampare il contenuto di ifFiglio.innerHTML in un alert. (Magari alert("--"+ilFiglio.innerHTML+"--"))
    Ti dico questo, perché, secondo me, ci sono altri caratteri altro l'username nello span (spazi, a capo) e, ovviamente, se provi a fare "MyUsername " == "MyUsername" ottieni un bel false.
    Quindi controlla che cosa vai a controllare. Se è così puoi usare trim per levare i caratteri vuoti.

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.