2009-04-18 20 views
91

Ich versuche, JavaScript zu nutzen, um den Wert aus einem HTML-Textfeld zu bekommen, aber Wert kommt nicht nach LeerraumWie Textfeld Wert in JavaScript

Zum Beispiel:

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

mich nur bekomme: "Software" von oben. Ich benutze ein Skript wie folgt:

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

Wie bekomme ich den vollen Wert: "Software Engineer"?

Antwort

52

+1 Gumbo: 'id' ist die einfachste Möglichkeit, auf Seitenelemente zuzugreifen. IE (Pre-Version 8) wird Dinge mit einem passenden 'Namen' zurückgeben, wenn es nichts mit der gegebenen ID finden kann, aber das ist ein Fehler.

Ich bekomme nur "Software".

id-vs-name wird dies nicht beeinflussen; Ich vermute, was passiert ist, dass (im Gegensatz zum Beispiel Code) Sie ‚Wert‘ vergessen haben Attribut zu zitieren:

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

Setzen Sie das id Attribut des input auf txtJob. Ihr Browser verhält sich merkwürdig, wenn Sie getElementById anrufen.

68

Ihr Element hat keine ID, sondern nur einen Namen. So können Sie entweder getElementsByName() Methode verwenden, um eine Liste aller Elemente mit diesem Namen zu erhalten:

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

Oder Sie eine ID an das Element zuweisen:

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

Wenn es in einer Form ist, dann wäre es:

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

dann würden Sie in Javascript sagen:

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

das Problem, das Sie nicht Codierung für Eingangswerte von Form so nicht Browser fügt diejenigen ...

ontop hat einige Probleme als Unicode-Codierung/Decodierung Operationen so verwenden diese Funktion Codierung Strings/Arrays

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

bereitgestellt, wenn Sie das Textfeld Wert wollen . Einfach:

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

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

Wenn Sie ASP.NET verwenden, die serverseitigen Code-Tags in diesen Beispielen unten die genaue Kontrolle ID angeben, auch wenn Sie Masterseiten verwenden.

Javascript:

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

JQuery:

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

Ist das nicht ASP? – 8bitslime

0

Wenn Sie Benutzersteuerung verwenden und wollen Werte alle Textfeld erhalten, dann können Sie den folgenden Code verwenden:

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

Hier ist LE_OtherCostsDetails, ist der Name des Benutzersteuerelements und txtHomeOwnerInsurance ist t er ID des Textfelds.

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



Das Problem ist, dass Sie einen Tiny Fehler gemacht!

Dies ist der JS-Code verwende ich:

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

Sie nicht name = "" verwendet werden soll. Verwenden Sie stattdessen id = "".

0

Sie benötigen Code wie folgt zu ändern: -

<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

weil Sie Raum Ingenieur zwischen Software verwendet html/php wird nicht Raum zwischen Wert unter Textbox unterstützen, müssen Sie diesen Code verwenden <input type="text" name="txtJob" value=software_engineer> wird es

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

über diesen Code Versuchen.

jobValue: Variablenname.
FormName: Name des Formulars in HTML.
txtJob: Textbox Name

0

Dies sollte einfach mit Jquery sein:

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 für das Textfeld. dh

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

in JavaScript

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

In JQuery

var jobValue = $("#txtJob").val(); 
Verwandte Themen