以前从未发生过这件事,但这是我的问题。我正试图获得字段的值,这是标记的样子
<input type="text" class="in-field" name="name" placeholder="Site Name" autocomplete="off" id="name1">
现在我的JS获取值
var name = $("#name1").val();
console.log(name);
现在我得到的只是
我无法真正描述它,但是当它应该返回一些用户输入时,它可以返回任何内容。有任何想法吗?
答案 0 :(得分:0)
好的,直截了当。
var name = $("#name1").val();
console.log(name); // ...
...无法返回任何内容,因为您没有收听用户input
并且您实际上没有设置任何值:
<input type="text" class="in-field" name="name" placeholder="Site Name" autocomplete="off" id="name1">
确保已将代码包装到
中$(function(){ // DOM ready
// HERE...
});
...或在结束</body>
标记之前。现在让我们听一下用户输入:
$('#name1').on('input', function(){
console.log( this.value );
});
答案 1 :(得分:0)
我认为你的问题是你的代码在页面加载时运行,因此当它执行时,字段中没有任何内容。如果有人稍后输入某些内容并不重要,因为您已经抓住了该值并在用户有时间输入内容之前将其打印出来。
你想尝试添加一个keyup处理程序或一个提交按钮,如下所示:
$("#name1").keyup(function (e) {
console.log(String.fromCharCode(e.which));
});
记录他们输入的每个密钥。或者,您可以使用“提交”按钮(如果您在客户端执行所有操作,则实际上不必执行表单):
<button id="sub">Submit</button>
$("#sub").click(function () {
var name = $("#name1").val();
console.log(name);
});