我已经遇到这个问题有一段时间了,无论我做什么似乎都无法解决它。 基本上,由于某种原因,我的输入没有检索用户在输入中键入的值。
这是我的代码:
$('#aid').one('click', function () {
$('.prompt').prepend('<tr class="task"><td class="cell-icon"></td>' +
'<td class="cell-title"><div>User\'s Object: <input id="inputObject" type="text" style="margin-top: 2px;margin-left:2px"></input> Amount: <input id="inputAmount"' +
'type="text" style="margin-top:2px;margin-left:2px; padding-right: 0px"></input></div></td>' +
'<td class="cell-status hidden-phone hidden-tablet"><a class="btn btn-success" style="margin-top:3px">Submit</a></td>' +
'<td class="cell-time align-right">Just Now</td></div>' +
'</tr>');
});
$('.btn').click(function () {
console.log("click");
var input = document.getElementById('inputObject').value;
console.log(input);
});
一切正常,包括两次单击,但由于某种原因,它不会将输入值显示到控制台。
我也尝试过:$('#inputObject').val();
但这也不起作用。
我真的希望有人能帮助我!
最佳答案
另一种方法:使用委托(delegate)。
$('body').delegate('.btn', "click", function() {
var inp = document.getElementById("inputObject").value;
console.log(inp);
});
<小时/>
解释来自http://www.w3schools.com/jquery/event_delegate.asp :
delegate()
方法为选定元素的子元素的指定元素附加一个或多个事件处理程序,并指定一个函数事件发生时运行。
使用 delegate()
方法附加的事件处理程序将适用于当前元素和 future 元素(例如由脚本创建的新元素) )。
关于javascript - 文档未检测输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25701300/