2017-07-14 100 views
0

我有一個可以提供字符串的文本框。當我運行調試器(包括IE和Chrome)時,我可以看到它讀取的字符串不包含我的輸入,而是「」(一個空字符串)。 - 實際上有兩個文本框,但它們是相似的。Jquery獲取輸入文本字段的值

盒子,我的代碼看起來像這樣,HTML部分:

enter image description here

<table> 
     <tbody><tr><td>Type value here</td><td>Type second value here</td></tr> 
     <tr><td><input id="MTY1" type="text"></td><td><input id="MTY2" type="text"></td></tr> 
     <tr><td></td><td><button name="btnGetPerson" onclick="GetPerson();">Retrieve info</button></td></tr> 

Jquery的一部分:

MyTypedValue1 = $('#MTY1').val(); 
MyTypedValue2 = $('#MTY2').val(); 

我發現很多息息相關回答這個問題。我曾嘗試以下:

MyTypedValue1 = $('#MTY1').value(); 
MyTypedValue2 = $('#MTY2').value(); 

MyTypedValue1 = $('#MTY1'); 
MyTypedValue2 = $('#MTY2'); 

我也曾嘗試JS的形式:

var MyTypedValue1 = document.getElementById("MTY1").value; 
var MyTypedValue2 = document.getElementById("MTY2").value; 

w3school有一個偉大的工作示例。但是我仍然得到空的字符串。 https://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_dom_val_get

我已經嘗試了所有上面有和沒有類型'var'和單元和雙元''「」中的元素。 另外我被指示在JQuery中做這個,而不是JavaScript。但是atm。我會接受任何有效的工作。

任何人都可以告訴我做錯了什麼嗎?

謝謝。

編輯:總括來說,由於誤差在另一地點的代碼,使用jQuery代碼位是正確的:

MyTypedValue1 = $('#MTY1').val(); 
MyTypedValue2 = $('#MTY2').val(); 
+0

你的文本框在編輯器裏面嗎? –

+3

您還沒有給出完整的代碼示例,但這些代碼片段可以正常工作:https://jsfiddle.net/07wfq6rh/ –

+0

'.value();?'或'.val()? – guradio

回答

1

應該有更比同一頁面上出現的一個id(比如MTY1)要多。 Html id s在整個頁面中應該是唯一的。

這似乎是@Rory McCrossan jsfiddle留下的唯一選擇。

0

是在全球範圍內的功能?如果沒有,它不會觸發.. 我的意思是,你必須把你的腳本在按鈕加載到DOM之前。

其他方式才達到你在找什麼:

添加ID到您的按鈕和刪除onclick事件:

<button name="btnGetPerson" id="getPerson">Retrieve info</button> 

和jQuery:

$(function() { 

    $('#getPerson').on('click', function() { 
     var val1 = $('#MTY1').val(), 
      val2 = $('#MTY2').val(); 

     console.log(val1 + ' ' + val2); 
    }); 

}); 
0
<!DOCTYPE html> 
<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 

}); 

function GetPerson() 
{ 
var value= document.getElementById("MTY1").value; 
var Value2= document.getElementById("MTY2").value; 
alert(value+" "+Value2); 

} 
</script> 
</head> 
<body> 

<table> 
     <tbody><tr><td>Type value here</td><td>Type second value here</td></tr> 
     <tr><td><input id="MTY1" type="text"></td><td><input id="MTY2" type="text"></td></tr> 
     <tr><td></td><td><button name="btnGetPerson" onclick="GetPerson();">Retrieve info</button></td></tr> 
</body> 
</html> 


I checked this code and it's working. Please check it once.