Cách lấy giá trị hộp văn bản trong JavaScript


97

Tôi đang cố gắng sử dụng JavaScript để lấy giá trị từ hộp văn bản HTML nhưng giá trị không đến sau khoảng trắng

Ví dụ:

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

Tôi chỉ nhận được: "phần mềm" từ trên. Tôi đang sử dụng một tập lệnh như thế này:

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

Làm cách nào để nhận được giá trị đầy đủ: "kỹ sư phần mềm"?

Câu trả lời:


63

+1 Gumbo: 'id' là cách dễ nhất để truy cập các phần tử của trang. IE (trước phiên bản 8) sẽ trả về những thứ có 'tên' phù hợp nếu nó không thể tìm thấy bất kỳ thứ gì với ID đã cho, nhưng đây là một lỗi.

tôi chỉ nhận được "phần mềm".

id-vs-name sẽ không ảnh hưởng đến điều này; Tôi nghi ngờ điều gì đã xảy ra là (trái với mã ví dụ) bạn đã quên trích dẫn thuộc tính "value" của mình:

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

77

Phần tử của bạn không có ID mà chỉ là tên. Vì vậy, bạn có thể sử dụng getElementsByName()phương pháp để lấy danh sách tất cả các phần tử có tên này:

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

Hoặc bạn chỉ định một ID cho phần tử:

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

vấn đề bạn không sử dụng mã hóa cho các giá trị đầu vào từ biểu mẫu nên trình duyệt không thêm các giá trị vào ...

ontop có một số vấn đề như hoạt động mã hóa / giải mã unicode, vì vậy hãy sử dụng hàm này mã hóa chuỗi / mảng

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

Đặt idthuộc tính của inputthành txtJob. Trình duyệt của bạn hoạt động không bình thường khi bạn gọi getElementById.


4

Nếu bạn đang sử dụng ASP.NET, các thẻ mã phía máy chủ trong các ví dụ dưới đây sẽ cung cấp ID điều khiển chính xác, ngay cả khi bạn đang sử dụng các trang Chính.

Javascript:

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

JQuery:

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

3

Nếu nó ở dạng thì nó sẽ là:

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

Sau đó, bạn sẽ nói trong javascript:

var val= document.jojo.jobtitle.value

document.formname.elementname

3

Được cung cấp khi bạn muốn giá trị hộp văn bản. Một trong những đơn giản:

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

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

0

Nếu bạn đang sử dụng bất kỳ điều khiển người dùng nào và muốn nhận bất kỳ giá trị hộp văn bản nào thì bạn có thể sử dụng mã dưới đây:

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

Đây, LE_OtherCostsDetailslà tên của điều khiển người dùng và txtHomeOwnerInsurancelà id của hộp văn bản.


0



Vấn đề là bạn đã phạm sai lầm Tiny!

Đây là mã JS tôi sử dụng:

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

Bạn không nên sử dụng name = "". thay vào đó sử dụng id = "".


0

Bạn cần thay đổi mã của mình như sau: -

<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

bởi vì bạn đã sử dụng khoảng trắng giữa kỹ sư phần mềm html / php sẽ không hỗ trợ khoảng cách giữa giá trị trong hộp văn bản, bạn phải sử dụng mã này <input type="text" name="txtJob" value=software_engineer> Nó sẽ hoạt động


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

Hãy thử mã ở trên.

jobValue: tên biến.
FormName: Tên của biểu mẫu trong html.
txtJob: Tên hộp văn bản


0

Điều này sẽ đơn giản bằng cách sử dụng 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

Đặt id cho hộp văn bản. I E,

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

Trong javascript

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

Trong Jquery

 var jobValue =  $("#txtJob").val();
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.