JavaScript'te metin kutusu değeri nasıl alınır?


97

Değeri bir HTML metin kutusundan almak için JavaScript kullanmaya çalışıyorum ancak değer boşluktan sonra gelmiyor

Örneğin:

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

Yukarıdan sadece "yazılım" alırım. Bunun gibi bir komut dosyası kullanıyorum:

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

Tam değeri nasıl elde ederim: "yazılım mühendisi"?

Yanıtlar:


63

+1 Gumbo: 'id', sayfa öğelerine erişmenin en kolay yoludur. IE (ön sürüm 8), verilen kimlikle hiçbir şey bulamazsa, eşleşen bir 'adı' olan şeyleri döndürür, ancak bu bir hatadır.

sadece "yazılım" alıyorum.

id-vs-name bunu etkilemez; Olanların olduğundan şüpheleniyorum (örnek kodun aksine) "değer" özelliğinizi alıntılamayı unutmuşsunuz:

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

77

Öğenizin bir kimliği yoktur, yalnızca bir adı vardır. Dolayısıyla getElementsByName(), bu ada sahip tüm öğelerin bir listesini almak için yöntemi kullanabilirsiniz :

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

Veya öğeye bir kimlik atarsınız:

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

Formdaki giriş değerleri için kodlama kullanmadığınız sorun, bu nedenle tarayıcı birleri eklemez ...

ontop unicode kodlama / kod çözme işlemleri gibi bazı problemlere sahiptir, bu nedenle dizeleri / dizileri kodlayan bu işlevi kullanın

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

Set idvasfını inputiçin txtJob. Tarayıcınız aradığınızda tuhaf davranıyor getElementById.


4

ASP.NET kullanıyorsanız, aşağıdaki örneklerde yer alan sunucu tarafı kod etiketleri, Ana sayfaları kullanıyor olsanız bile tam kontrol kimliğini sağlayacaktır.

Javascript:

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

JQuery:

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

3

Bir biçimde ise, o zaman şöyle olacaktır:

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

O zaman javascript'te şöyle derdin:

var val= document.jojo.jobtitle.value

document.formname.elementname

3

Metin kutusu değerini istediğinizde sağlanır. Basit olan:

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

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

0

Herhangi bir kullanıcı kontrolü kullanıyorsanız ve herhangi bir metin kutusu değeri almak istiyorsanız, aşağıdaki kodu kullanabilirsiniz:

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

Burada, LE_OtherCostsDetailskullanıcı kontrolünün adı txtHomeOwnerInsuranceve metin kutusunun kimliğidir.


0



Sorun şu ki, küçük bir hata yapmışsın!

Bu kullandığım JS kodu:

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

Name = "" kullanmamalısınız. bunun yerine id = "" kullanın.


0

Kodunuzu aşağıdaki gibi değiştirmeniz gerekir: -

<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

Eğer yazılım mühendisi arasındaki boşluğu kullanıldığından html / php metin altında değer arasındaki boşluk desteklemeyeceğini, bu kodu kullanmak zorunda <input type="text" name="txtJob" value=software_engineer> İşe yarayacak


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

Yukarıdaki kodu deneyin.

jobValue: değişken adı.
FormName: Formun html'deki adı.
txtJob: Metin kutusu adı


0

Bu, jquery kullanarak basit olmalıdır:

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

Metin kutusu için kimliği ayarlayın. yani

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

JavaScript'te

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

Jquery'de

 var jobValue =  $("#txtJob").val();
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.