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

    getElementsByName(...).value mi da undefined

    Ciao a tutti.
    Ho una pagina che carico in ajax tramite jquery in questo modo:
    codice:
    $(".contenuto").load("login.php");
    In questa pagina ci sono 2 campi input e il codice javascript che mi serve per i due campi:
    codice HTML:
    <input name="email" type="text" />
    <input name="password" type="password" />
    
    <script type="text/javascript">
    var email=document.getElementsByName("email").value;
    var password=document.getElementsByName("password").value;
    
    alert("email");
    alert("password");
    </script>
    entrambi gli alert mi restituisce undefined perche?

  2. #2
    Quote Originariamente inviata da techno Visualizza il messaggio
    Ciao a tutti.
    Ho una pagina che carico in ajax tramite jquery in questo modo:
    codice:
    $(".contenuto").load("login.php");
    In questa pagina ci sono 2 campi input e il codice javascript che mi serve per i due campi:
    codice HTML:
    <input name="email" type="text" />
    <input name="password" type="password" />
    
    <script type="text/javascript">
    var email=document.getElementsByName("email").value;
    var password=document.getElementsByName("password").value;
    
    alert("email");
    alert("password");
    </script>
    entrambi gli alert mi restituisce undefined perche?
    Perché getElementsByName (come si evince dalla "esse" finale di Elements) restituisce una collezione, nello specifico un array di oggetti, ed una collezione non ha una proprietà value.
    La sintassi corretta è:

    codice:
    var email=document.getElementsByName("email")[0].value;

    oppure, con jQuery
    codice:
    var email=$('input[name="email"]').val();

  3. #3
    il fatto che io avevo provato con jquery come hai postato tu:
    codice:
    var email=$('input[name="email"]').val();
    anche con:
    codice:
    var email=document.getElementsByName("email")[0].value;
    ma mi restituisce valore vuoto

  4. #4
    Quote Originariamente inviata da techno Visualizza il messaggio
    il fatto che io avevo provato con jquery come hai postato tu:
    codice:
    var email=$('input[name="email"]').val();
    anche con:
    codice:
    var email=document.getElementsByName("email")[0].value;
    ma mi restituisce valore vuoto
    Forse non attendi che i valori vengano inseriti.
    Se lanci quelle istruzioni al caricamento della pagina è normale che i due valori siano vuoti.

  5. #5
    no no purtroppo non ho messo il codice completo la funzione parte dopo il click su un pulsante questo è il codice completo:

    codice:
    <form name="form-login" method="post" action="javascript:ctrlLogin(0);">
    <ul>
    <li><input name="email_login" type="text" placeholder="E-mail *" /></li>
    <li><input name="password_login" type="password" placeholder="Password *" /></li>
    <li><input type="submit" value="Accedi" /></li>
    </ul>
    </form>
    
    <script>
    function ctrlLogin(action){
    if($(".error-login").length>0) $(".error-login").remove();
    var formData=new FormData();
    formData.append("action", action);
        
        if(action===0)
            var email=document.getElementsByName("email_login")[0].value;
            var password=$("input[name=password_login]").val();    
            formData.append("password", password);
        }
        if(action===1){
            var email=$("input[name=email_remember]").val();
        }
        formData.append("email", email);
        alert(email);
        alert(password);
        alert(remember);
    }
    </script>

  6. #6
    ho aggiunto u un altro campo input dove inserisco il valore:
    codice:
    <input type="hidden" name="prova" value="1" />
    questo con alert() mi da il valore, ma allore perche negli altri due input il valore non li legge?

  7. #7
    Allora se inserisco questo codice con tutta la pagina login nella pagina principale mi funziona tutto se invece lo faccio comparire tramite load() non funziona perche?

    Ho messo anche solo lo script nella pagina principale e la pagina login sempre con load() ma non va e come se con load() non caricasse i campi input anche se si vedono non so come spiegarlo

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