jQuery在输入文本上显示空字符串?
我有一张这样的表格jQuery在输入文本上显示空字符串?,jquery,html,Jquery,Html,我有一张这样的表格 <form action=""> <label for="name">Name</label> <input type="text" id="name" /> </form> <script type="text/javascript"> jQuery(document).ready(function() { var Name = jQuery('#name').val();
<form action="">
<label for="name">Name</label>
<input type="text" id="name" />
</form>
<script type="text/javascript">
jQuery(document).ready(function() {
var Name = jQuery('#name').val();
jQuery('#name').blur(function() {
console.log(Name);
});
});
</script>
名称
jQuery(文档).ready(函数(){
var Name=jQuery('#Name').val();
jQuery('#name').blur(函数(){
console.log(名称);
});
});
但在这里,当我在输入文本字段中输入任何值时,它会显示错误,如
(空字符串)
。有人能告诉我这里出了什么问题吗?如何解决此问题?应在onblur处理程序中设置名称变量:
<input type="text" id="name />
jQuery('#name').blur(function () {
var Name = jQuery(this).val(); //or this.value
console.log(Name);
});
应在onblur处理程序内设置名称变量:
jQuery('#name').blur(function () {
var Name = jQuery(this).val(); //or this.value
console.log(Name);
});
试一试
名称
jQuery(文档).ready(函数()
{
jQuery('#name').blur(函数(){
var Name=jQuery(“#Name”).val();
jQuery(“#name”).blur(函数()
{
console.log(名称);
});
});
});
试试看
名称
jQuery(文档).ready(函数()
{
jQuery('#name').blur(函数(){
var Name=jQuery(“#Name”).val();
jQuery(“#name”).blur(函数()
{
console.log(名称);
});
});
});
此行:
var Name = jQuery('#name').val();
是一次性操作,将Name
的值设置为代码执行时输入的值。当元素的值发生变化时,它将而不是神奇地更新Name
的值(为什么有这么多人认为它会发生变化?)。您需要执行以下操作:
jQuery(document).ready(function () {
jQuery('#name').blur(function () {
console.log(this.value);
});
});
我删掉了现在毫无意义的Name
变量,直接使用元素引用(this
)来获取它的value属性,而不是使用jQuery函数。这一行:
var Name = jQuery('#name').val();
是一次性操作,将Name
的值设置为代码执行时输入的值。当元素的值发生变化时,它将而不是神奇地更新Name
的值(为什么有这么多人认为它会发生变化?)。您需要执行以下操作:
jQuery(document).ready(function () {
jQuery('#name').blur(function () {
console.log(this.value);
});
});
我删掉了现在毫无意义的Name
变量,直接使用元素引用(this
)来获取它的value属性,而不是使用jQuery函数。如果您想要console.log框中键入的任何内容,您可以执行以下操作:
<script>
jQuery(document).ready(function() {
jQuery('#name').keyup(function() {
var Name = jQuery('#name').val();
console.log(Name);
});
});
</script>
jQuery(文档).ready(函数(){
jQuery('#name').keyup(函数(){
var Name=jQuery('#Name').val();
console.log(名称);
});
});
此时,您将在页面加载中获得#name
的值,它将是“”
,一个空字符串。由于未输入任何内容。如果要将键入框中的内容记录到console.log中,可以执行以下操作:
<script>
jQuery(document).ready(function() {
jQuery('#name').keyup(function() {
var Name = jQuery('#name').val();
console.log(Name);
});
});
</script>
jQuery(文档).ready(函数(){
jQuery('#name').keyup(函数(){
var Name=jQuery('#Name').val();
console.log(名称);
});
});
此时,您将在页面加载中获得#name
的值,它将是“”
,一个空字符串。因为没有输入任何内容。您没有关闭输入的id,并且没有使用空的操作
标记。是的,用于关闭id,但空操作可以。如果未通过当前url,它只会假定当前url。您没有关闭输入的id,并且没有使用空的操作
标记。是的,用于关闭id,但空操作可以。如果没有通过,它只是假设当前url。我认为你的答案不正确,OP可能有键入错误,请更正答案,在有人投票或打旗子之前。你是对的,它在访问模糊函数外的Name变量时遇到问题。我认为你的答案不正确,OP可能有键入错误,请更正答案,在有人否决投票或表明您是对的之前,OP在访问模糊函数外的Name变量时遇到问题。