2012-01-16 25 views
18

Estoy tratando de obtener el texto de un cuadro de texto.Obtener valores de entrada del cuadro de texto

Tengo 2 cuadros de texto de entrada que no están en un formulario, y estoy tratando de recuperar el value y almacenarlo en una variable.

Este código devuelve undefined en el cuadro de alerta que aparece.

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

Cuando corro con userName.value como parámetro en la función de alerta, va a trabajar y mostrar lo que cada vez que escriba en el cuadro.

Aquí es el 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> 
+0
+0

¿Cuál es su pregunta? – blake305

+0

agregue el html relevante –

Respuesta

6

Notarás que no tienes valor attr en las etiquetas input.
Además, aunque no se muestra, asegúrese de que se ejecuta el Javascript después de el html está en su lugar.

+0

¿Debo tener un valor predeterminado en mi elemento de entrada? – Beanno1116

+0

pruébelo, supongo que cada navegador es un poco diferente en este sentido. –

2

tiene varios elementos con el mismo ID. Eso es un gran no-no. Asegúrese de que sus entradas tengan ids únicos.

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

ver, tanto el td y la input comparten el valor de ID pass.

+0

Sí, he visto eso gracias. Ni siquiera me di cuenta que nombré el eso. Apreciar la ayuda – Beanno1116

1

Quite id="pass" del elemento td. En este momento, el js obtendrá el elemento td en lugar de la entrada, por lo tanto, el valor no está definido.

+0

Gracias, eso es lo que era. Apreciar la ayuda – Beanno1116

5

<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> 

0

Este es el código de muestra para el correo electrónico y 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>'); 
4

// NOTA: El uso de "this.pass" y "this.name" creará una variable global a pesar de que está dentro de la función, por lo que estar cansado de su convención de nombres

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"); 
} 
1

Javascript document.getElementById ("<% = contrilid.ClientID%>"). Value; o usando jquery

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

Cuestiones relacionadas