2010-03-05 61 views
0

如何从此HTML FORM的HTML字符串<br>传递给使用Jquery的DIV?Jquery表单字段值

HTML形式是:

<form action="" id="submit_wall" name="submit_wall" method="post"> 
<textarea cols="50" rows="5" id="message_wall"></textarea> 
<button type="submit" id="fst" class="cfst">send</button> 
</form> 

<div id="wall"></div> 
<div class="msg"></div> 

jQuery代码:

$(document).ready(function(){  
$("form#submit_wall").submit(function() { 
var message_wall = $('#message_wall').attr('value'); 

$("div#wall").append('<div class=msg>'+ message_wall +'</div>'); 
return false; 
}); 
}); 

我使用html的尝试(),但我不断收到错误消息。

+0

您可以添加您收到的错误。你的HTML也不会引用ID为“Wall”的div。 – 2010-03-05 19:13:54

+0

textarea没有“值”的属性。你想达到什么目的。 – 2010-03-05 19:24:53

回答

1

这里是learningjquery.com

$(document).ready(function() { 
    $('#comment').one('focus',function() { 
$('#comment').parent().after('<div id="preview-box"><div class="comment-by">Live Comment Preview</div><div id="live-preview"></div></div>'); 
    }); 
    var $comment = ''; // that's two single quotation-marks at the end 
    $('#comment').keyup(function() { 
$comment = $(this).val(); 
$comment = $comment.replace(/\n/g, "<br />").replace(/\n\n+/g, '<br /><br />').replace(/(<\/?)script/g,"$1noscript"); 
$('#live-preview').html($comment); 
    }); 
}); 

一个例子,这是非常接近的你正在尝试做的。

+0

谢谢凯恩!这个例子非常有帮助。 – Sergio 2010-03-05 19:53:56

+0

另一个快速的方法是在CSS中使用'white-space:pre;'来为div添加。那么你不必做
替换。然后你的原始代码应该产生期望的结果。 – Lobstrosity 2010-03-05 20:23:51

0

首先,如durilai评论,也没有divwall的ID,这意味着,即使你提交处理工作,append不会追加,因为没有什么可追加到。

,即使你在表格上说action="",表单仍然会提交并造成什么看起来像一个页面重新加载,因为你没有阻止你提交处理程序的默认操作。一个快速解决方案是添加return false;作为处理程序的最后一行。另一个解决办法是重写它像:

$("form#submit_wall").submit(function(event) { 
    event.preventDefault(); 

    $("div#wall").append("<div class='msg'>"+ $("#message_wall").val() + "</div>"); 
}); 
+0

在HTML代码中有两个DIV,但我忘了把它放在我的问题中。好的,现在我编辑它。我尝试了'var message_wall = $('#message_wall')。val();'但在DIV中没有html换行符“
”,因为它在表单文本字段中。 – Sergio 2010-03-05 19:41:43