2015-03-13 43 views
0

嗨,我有一个HTML文本区。我希望用户输入的内容在屏幕上显示,并存储在一个变量中。我有显示部分,但我无法弄清楚如何将它作为一个变量存储。如何将textarea中的用户类型设置为javascript变量?

的HTML

<textarea id="input" maxlength="50" name="Text" placeholder="Max. 50 characters"></textarea> 

JavaScript的

$('#input').keyup(function() { 
     $('#text').html($(this).val()); 
     var yourText = this.val(); 
    }); 

回答

2

首先,你应该使用changeinput,而不是keyup。不是每个人都使用键盘!

其次,只有jQuery对象有一个val()方法。使用this你指的是<textarea>元件,它不会:

$('#input').on("input", function() { 
    var yourText = $(this).val(); // Only jQuery objects have a .val() 
    $('#text').html(yourText); // Pass your variable in here 
}); 

jsFiddle Demo

2
$('#input').keyup(function() { 
     $('#text').html($(this).val()); 
     var yourText = this.val(); 
    }); 

应该

$('#input').keyup(function() { 
     $('#input').html($(this).val()); 
     var yourText = $(this).val(); 
    }); 

你给#text作为ID,但ID名称输入是#输入

+0

我想我我错了。 – Acer 2015-03-13 18:19:12

1

你忘了ja vascript关闭$就可以了。使用下面的代码

<textarea id="input" maxlength="50" name="Text" placeholder="Max. 50 characters"></textarea> 
<div id="text1"></div> 
<script> 
$('#input').keyup(function() { 
     $('#text').html($(this).val()); 
     var yourText = $(this).val(); 
    $("#text1").html(yourText); 
    }); 
</script> 

的jsfiddle:http://jsfiddle.net/7tfs93o2/

希望这有助于你

1

你正在做var yourText = this.val();但由于使用的是JQuery的存在,.val()是一个jQuery方法,this也应与包装JQuery图层是这样的:

var yourText = $(this).val();

相关问题