So erhalten Sie den Textfeldwert in JavaScript


97

Ich versuche, JavaScript zu verwenden, um den Wert aus einem HTML-Textfeld abzurufen, aber der Wert kommt nicht nach Leerzeichen

Beispielsweise:

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

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

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

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

Antworten:


63

+1 Gumbo: 'id' ist der einfachste Weg, um auf Seitenelemente zuzugreifen. IE (vor Version 8) gibt Dinge mit einem passenden 'Namen' zurück, wenn mit der angegebenen ID nichts gefunden werden kann, dies ist jedoch ein Fehler.

Ich bekomme nur "Software".

id-vs-name hat keinen Einfluss darauf. Ich vermute, was passiert ist, ist, dass Sie (im Gegensatz zum Beispielcode) vergessen haben, Ihr Attribut 'value' anzugeben:

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

77

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

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

Oder Sie weisen dem Element eine ID zu:

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

11
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, dass Sie keine Codierung für Eingabewerte aus dem Formular verwenden, sodass kein Browser ...

ontop hat einige Probleme mit Unicode-Codierungs- / Decodierungsoperationen. Verwenden Sie daher diese Funktion zum Codieren von Zeichenfolgen / 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);

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

4

Setzen Sie das idAttribut von inputauf txtJob. Ihr Browser verhält sich beim Anruf skurril getElementById.


4

Wenn Sie ASP.NET verwenden, geben die serverseitigen Code-Tags in den folgenden Beispielen die genaue Steuerelement-ID an, selbst wenn Sie Masterseiten verwenden.

Javascript:

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

JQuery:

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

3

Wenn es in einer Form vorliegt, 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

3

Wird bereitgestellt, wenn Sie den Textfeldwert möchten. Einfache Sache:

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

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

0

Wenn Sie ein Benutzersteuerelement verwenden und Textfeldwerte abrufen möchten, können Sie den folgenden Code verwenden:

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

Hier LE_OtherCostsDetailsist der Name des Benutzersteuerelements und txtHomeOwnerInsurancedie ID des Textfelds.


0



Das Problem ist, dass Sie einen kleinen Fehler gemacht haben!

Dies ist der JS-Code, den ich verwende:

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

Sie sollten nicht name = "" verwenden. Verwenden Sie stattdessen id = "".


0

Sie müssen Ihren Code wie folgt ä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

Da Sie Speicherplatz zwischen Softwareentwickler verwendet haben, unterstützt HTML / PHP keinen Speicherplatz zwischen Wert unter Textfeld, müssen Sie diesen Code verwenden. <input type="text" name="txtJob" value=software_engineer> Es wird funktionieren


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

Versuchen Sie diesen Code oben.

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


0

Dies sollte mit jquery einfach 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

Legen Sie die ID für das Textfeld fest. 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();
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.