嗨所以我有一个HTML textarea。我希望用户输入的内容显示在屏幕上并存储在变量中。我有显示部分,但我无法弄清楚如何将其存储为变量。
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();
});
答案 0 :(得分:2)
首先,您应该使用change
或input
代替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
});
答案 1 :(得分: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名称为#input
答案 2 :(得分:1)
你忘记了javascript关闭$
。使用以下代码
<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/
希望这有助于你
答案 3 :(得分:1)
你正在做var yourText = this.val();
但是因为你在那里使用JQuery,.val()
是一个JQuery方法,this
也应该用这样的JQuery层包装:
var yourText = $(this).val();