2009-05-31 59 views
1

我正在操作ms ajax中的一些数据,并返回一个字符串,我通过使用jQuery.val()插入到一个文本框中。不幸的是,这个文本框没有解释
或\ n,所以我怎样才能让它呈现文本框内的文本,所以它仍然看起来不错?jQuery文本框和html

更新(应要求):我用类似这样的东西:

var sendEmailText = Hi, you found these items<ul><li>Car1</li><li>car2</li></ul><br><br/>Bye!  
jQuery('.CssReceiverMessage').val(sendEmailText); 

,基本上它只是说明,而不是解释它与HTML标记的代码。

回答

2

大概你正在尝试发送电子邮件风格的和文本框将包含邮件的文本。我建议你做两件事 - 首先使用DIV将文本显示给用户。你可以设计它的样式,使它看起来像文本框/区域,如果你想要边框等。然后有一个隐藏的输入,实际上包含将被发送回服务器的数据。通过这种方式,您的显示器可以按照您的需要进行工作,但数据完整地传回给要发送的电子邮件。或者,您可以让服务器格式化电子邮件,并将数据作为JSON或其他可由服务器解释的格式传回。

var sendEmailText = "Hi, you found these items<ul><li>Car1</li><li>car2</li></ul><br><br/>Bye!"  
jQuery('#receiverMessage').val(sendEmailText); 
jQuery('.receiverDisplay').html(sendEmailText); 

<div style="border: 1px solid #0000ff;" class="receiverDisplay"> 
</div> 
<input type="hidden" id="receiverMessage" name="recevierMessage" /> 

编辑:如果用户需要编辑的消息,你的意见,另一种答案所指示的,则可以考虑使用降价编辑器如WMD(SO上使用)。

1

这是不可能在一个文本框(<input>元素)

1

使用HTML而不是使用文本框使用SPAN或DIV的。在页面上创建一个跨度。

<span id="ReceiverMessage"></span> 

然后在你的jQuery代码设置它的HTML()到sendEmailText:

jQuery("#ReceiverMessage").html(sendEmailText); 
+0

但我需要的文本框,因为用户应该能够插入他/她自己的评论,你不能在一个跨度? – Dofs 2009-05-31 15:28:37

0

您是否考虑过使用TinyMCE的FCKEditor?两者都替换标准文本框并为您提供丰富的HTML编辑器。

+0

我只是想让用户编辑邮件的简单方法。现在我在让用户能够编辑消息或发送标准消息之间徘徊不前...... – Dofs 2009-05-31 15:55:35