如何从输入到div接收数据

时间:2013-05-29 03:32:32

标签: jquery

我想向div显示数据而不是textarea怎么做..

<script type='text/javascript'>
$(window).load(function () {
    $("#pasteable").bind('paste', function (event) {
        var $pastable = $(this);
        setTimeout(function () {
            $("#target").val($pastable.val());
            $pastable.val("");
            $pastable.focus();
        }, 100);
    });

});
</script>

粘贴到此处:<input id="pasteable" />

它应该在这里显示:

<textarea id="target"></textarea>  

如何在此div中显示

 <div id="target"contentEditable="true"style="width:300px;height:100px;border:1px #ffccff solid"></div>

3 个答案:

答案 0 :(得分:2)

Working jsFiddle Demo

您的#target元素不再是textarea,因此您必须使用.html()方法而不是.val()方法。 请考虑以下标记:

<input id="pasteable" />
<div id="target"contentEditable="true"style="width:300px;height:100px;border:1px #ffccff solid"></div>

在您的JS代码中:

$(function () {
    $("#pasteable").bind('paste', function (event) {
        var $pastable = $(this);
        setTimeout(function () {
            $("#target").html($pastable.val());
            $pastable.val("");
            $pastable.focus();
        }, 100);
    });
});

答案 1 :(得分:0)

页面上不能有2个具有相同id的元素。相应地更改其中一个,例如:

<textarea id="source"></textarea>  

<div id="target" contentEditable="true" style="width:300px;height:100px;border:1px #ffccff solid"></div>

答案 2 :(得分:0)

永远不要在form中使用相同的ID。但如果您有一些要求,请使用 -

  $(window).load(function () {
    $("#pasteable").bind('paste', function (event) {
    var $pastable = $(this);
    setTimeout(function () {
        $("[id='target']").val($pastable.val());
        $pastable.val("");
        $pastable.focus();
    }, 100);
  });

});