web-dev-qa-db-fra.com

Obtenir des valeurs d'entrée à partir de la zone de texte

J'essaie d'obtenir le texte d'une zone de texte. 

J'ai 2 zones de texte d'entrée qui ne sont pas dans un formulaire, et j'essaye de récupérer le value et de le stocker dans une variable. 

Ce code retourne undefined dans la boîte d’alerte qui s’affiche. 

<script>
    var userPass = document.getElementById('pass');
    var userName = document.getElementById('fName');
    function submit(){
        alert(userPass.value);
    }
</script>

Lorsque je l'exécute avec userName.value en tant que paramètre dans la fonction d'alerte, cela fonctionne et affiche tout ce que vous tapez dans la zone. 

Voici le code HTML:

 <table id="login">
        <tr>
            <td><label>User Name</label></td>
        </tr>
        <tr>
            <td colspan="2"><input class="textBox" id="fName" type="text" maxlength="30"    required/></td>
        </tr>
        <tr>
            <td id="pass"><label>Password</label></td>
        <tr>
            <td colspan="2"><input class="textBox" id="pass" type="text" maxlength="30" required/></td>
        </tr>
        <tr>
            <td><input type="button" class="loginButtons" value="Login" onclick="submit();"/>&nbsp&nbsp&nbsp
            <input type="button" class="loginButtons" value="Cancel"/></td>
    </table>
18
Beanno1116

Vous remarquerez que vous n'avez aucune valeur attr dans les balises input.
En outre, bien que non affiché, assurez-vous que le Javascript est exécuté after le code HTML est en place.

6

<script>
  function submit(){
      var userPass = document.getElementById('pass');
      var userName = document.getElementById('user');
      alert(user.value);
      alert(pass.value);
  }
</script>

<input type="text" id="user" />
<input type="text" id="pass" />
<button onclick="submit();" href="javascript:;">Submit</button>

6
Emil Carr

// NOTE: L'utilisation de "this.pass" et "this.name" créera une variable globale même si elle se trouve dans la fonction, alors soyez fatigué de votre convention de dénomination

function submit()
{
    var userPass = document.getElementById("pass").value;
    var userName = document.getElementById("user").value;
    this.pass = userPass;
    this.name = userName; 
    alert("whatever you want to display"); 
}
4

vous avez plusieurs éléments avec le même identifiant. C'est un gros non-non. Assurez-vous que vos entrées ont unique ids.

<td id="pass"><label>Password</label></td>
<tr>
   <td colspan="2"><input class="textBox" id="pass" type="text" maxlength="30" required/></td>
</tr>

voir, la td et la input partagent la valeur id pass.

2
hvgotcodes

Javascript document.getElementById ("<% = contrilid.ClientID%>"). Value; ou en utilisant jquery

$ ("# <% = txt_iplength.ClientID%>"). val ();

1
Sham

Supprimez le id="pass" de l'élément td. À l'heure actuelle, le js obtiendra l'élément td au lieu de l'entrée, la valeur n'est donc pas définie. 

1
aziz punjani

Ceci est l'exemple de code pour l'email et le javascript.

params = getParams();
subject = "ULM Query of: ";
subject += unescape(params["FormsEditField3"]);
content = "Email: ";
content += unescape(params["FormsMultiLine2"]);
content += "      Query:    ";
content += unescape(params["FormsMultiLine4"]);
var email = "[email protected]";
document.write('<a href="mailto:'+email+'?subject='+subject+'&body='+content+'">SUBMIT QUERY</a>');
0
nid