如何将表单上的字段输入放在同一表单上的文本区域中

时间:2011-09-12 05:37:29

标签: jquery html forms

我有一个带有名称字段和文本区域的表单。

当用户输入他们的名字时,我想将其与其他一些预先格式化的文本一起包含在文本区域中。

如何做到这一点?

jQuery的?

4 个答案:

答案 0 :(得分:1)

在文本输入上使用keyup handler,如果要将其用于显示,请在textarea中添加readonly="readonly"属性。

例如:

<input type="text">
<br>
<textarea readonly="readonly" rows="10" cols="40"></textarea>

还有一些jQuery:

var static_text = "Where is pancakes house?\n\n";
$('input').keyup(function() {
    $('textarea').text(static_text + $(this).val());
});

现场演示:http://jsfiddle.net/ambiguous/Tt2gt/1/

每次在keyup(包括退格键)中按下某个键时,绑定到<textarea>事件都会调用<input>更新回调。如果您使用change处理程序,<textarea>将不会更新,直到<input>失去焦点并且听起来不像您所追求的那样。

答案 1 :(得分:0)

是的,jQuery(以及任何旧的JavaScript)可以为您做到这一点。你想要做的是听取onchange事件。 Click here to read more on JavaScript events

在jQuery中,我们可能有这样的东西:

$(document).ready( function(){

    $("#my_Name_Field").change( function(){

        var myText = "Some preformatted text." + 
                     "Oh, and here's the name you entered:" + $("#my_Name_Field").val();

        $("#my_Text_Field").val( myText );

    });

});

my_Name_Field代表“姓名”文字字段的ID属性,而my_Text_Field代表文本区域的ID。

答案 2 :(得分:0)

您可以执行onchange事件或onblur您的姓名文本框事件

$('#name-id').change(function(){

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

$('#textarea').text("this is "+ name +" . he is the user");

});

http://api.jquery.com/blur/

http://api.jquery.com/change/

答案 3 :(得分:0)

是的,你可以用jQuery做到这一点。

$('#namefieldID').change(function() {
  var formatedText = $("#namefieldID").val() + "any text you want";//do any formatting you want here
  $("#textareaID").val( formatedText);
});