2017-07-14 55 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.