2009-04-18 15 views
91

Estoy tratando de utilizar JavaScript para obtener el valor de un cuadro de texto HTML, pero el valor no está viniendo después de espacio en blancoComo llegar de texto de valor caja en JavaScript

Por ejemplo:

<input type="text" name="txtJob" value="software engineer"> 

sólo obtener: "software" de lo anterior. Estoy usando un script como este:

var jobValue = document.getElementById('txtJob').value 

¿Cómo obtengo el valor completo: "software engineer"?

Respuesta

52

+1 Gumbo: 'id' es el La forma más fácil de acceder a los elementos de la página. IE (versión anterior 8) devolverá cosas con un "nombre" coincidente si no puede encontrar nada con la identificación proporcionada, pero este es un error.

obtengo solo "software".

id-vs-name no afectará a esto; Sospecho que lo que ha ocurrido es que (al contrario que el código de ejemplo) se le ha olvidado citar el 'valor' atributo:

<input type="text" name="txtJob" value=software engineer> 
5

Establezca el atributo id del input en txtJob. Su navegador actúa de manera peculiar cuando llama al getElementById.

68

Su elemento no tiene una ID sino solo un nombre. Así que se podría utilizar cualquiera getElementsByName() método para obtener una lista de todos los elementos con este nombre:

var jobValue = document.getElementsByName('txtJob')[0].value // first element in DOM (index 0) with name="txtJob" 

O le asignará un identificador al elemento:

<input type="text" name="txtJob" id="txtJob" value="software engineer"> 
3

Si es en una forma, entonces sería:

<form name="jojo"> 
<input name="jobtitle"> 
</form> 

entonces se podría decir en javascript:

var val= document.jojo.jobtitle.value 

document.formname.elementname 
8
var word = document.getElementById("word").value;//by id 
or 
var word = document.forms[0].elements[0].value;//by index 
//word = a word from form input 
var kodlandi = escape(word);//apply url encoding 

alert(escape(word)); 
or 
alert(kodlandi); 

el problema no está utilizando la codificación de los valores de entrada de la forma por lo no navegador añade a los ...

sábana tiene algunos problemas como Unicode operaciones de codificación/decodificación así utilizar esta función cadenas de codificación/matrices

function urlencode(str) 
{ 
// http://kevin.vanzonneveld.net3.  
// + original by: Philip Peterson4.  
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)5.  
// *  example 1: urlencode('Kevin van Zonneveld!'); 
// *  returns 1: 'Kevin+van+Zonneveld%21'7. 
    var ret = str; 
    ret = ret.toString(); 
    ret = encodeURIComponent(ret); 
    ret = ret.replace(/%20/g, '+'); 
    return ret; 
} 


ex. 
var word = "some word"; 
word = urlencode(word); 
3

proporcionó cuando se desea que el valor del cuadro de texto . Simple:

<input type="text" value="software engineer" id="textbox"> 

var result = document.getElementById("textbox").value; 
3

Si está utilizando ASP.NET, las etiquetas de código de servidor en estos ejemplos a continuación proporcionará el ID del mando exacta, incluso si está utilizando páginas maestras.

Javascript:

document.getElementById("<%=MyControlName.ClientID%>").value; 

JQuery:

$("#<%= MyControlName.ClientID %>").val(); 
+0

No es eso ASP? – 8bitslime

0

Si está utilizando cualquier control de usuario y desea obtener cualquier valor del cuadro de texto a continuación, puede utilizar el siguiente código:

var result = document.getElementById('LE_OtherCostsDetails_txtHomeOwnerInsurance').value; 

Aquí, LE_OtherCostsDetails, es el nombre del control de usuario y txtHomeOwnerInsurance es t El ID del cuadro de texto.

5
<!DOCTYPE html> 
<html> 
<body> 
<label>Enter your Name here: </label><br> 
<input type= text id="namehere" onchange="displayname()"><br> 


<script> 
function displayname() { 
    document.getElementById("demo").innerHTML = 
document.getElementById("namehere").value; 
} 

</script> 


<p id="demo"></p> 

</body> 
</html> 
0



El problema es que ha cometido un error minúsculo !

Este es el código JS que utilizo:

var jobName = document.getElementById("txtJob").value; 

No use name = "". en su lugar, use id = "".

0

Es necesario cambiar el código de la siguiente manera: -

<html> 
<body> 
<div> 
<form align="center" method=post> 
    <input id="mainText" type="text" align="center"placeholder="Search"> 

    <input type="submit" onclick="myFunction()" style="position: absolute; left: 450px"/> 
</form> 
</div> 
<script> 
function myFunction(){ 
    $a= document.getElementById("mainText").value; 
    alert($a); 
     } 
</script> 
</body> 
</html> 
0

, ya que utiliza el espacio entre el software ingeniero html/php no apoyará el espacio entre el valor bajo de texto, usted tiene que utilizar el código <input type="text" name="txtJob" value=software_engineer> se trabajará

0
var jobValue=document.FormName.txtJob.value; 

probar ese código de seguridad.

jobValue: nombre de la variable.
Nombre de formulario: nombre del formulario en html.
txtJob: nombre del cuadro de texto

0

Esto debe ser simple usando jQuery:

HTML:

<input type="text" name="txtJob" value="software engineer"> 

JS:

var jobValue = $('#txtJob').val(); //Get the text field value 
    $('#txtJob').val(jobValue);  //Set the text field value 
0

Set ID para el cuadro de texto. es decir,

<input type="text" name="txtJob" value="software engineer" id="txtJob"> 

en JavaScript

var jobValue = document.getElementById('txtJob').value 

En Jquery

var jobValue = $("#txtJob").val(); 
Cuestiones relacionadas