2013-02-13 65 views
0

我有一個表單,用戶可以通過textarea進行評論。如果點擊提交按鈕,它將返回在textarea內textarea中輸入內容的值。我怎樣才能改變這一點,以便提交textarea的值作爲純文本/段落與jQuery或PHP返回?Textarea爲段落或純文本

爲文本區域和按鈕的代碼:

<textarea rows="6" cols="40" scroll="auto" name="reply_for_{$item.id}"> 
    {if isset($item.reply)} 
     {$item.reply} 
    {/if} 
</textarea> 
<br /> 
<input name="addcomment" value="{lang mkey='submit'}" type="button" onclick=" 
    document.forms['commentsFrm'].id.value={$item.id}; 
    document.forms['commentsFrm'].submit(); 
"/> 

回答

0

2個答案部分解決了問題。然而,它給了我一些新的靈感和我解決它像這樣

{if $item.reply == ''} 
<form name="reply" method="post" action="reply"> 
    <textarea id="txtreply" name="txtreply" cols="50" rows="5"></textarea> 
    <input type="submit" name="btnAdd" value="{lang mkey='send'}" /> 
</form> 

{else} 

{$item.reply} 

{/if} 

謝謝大家的幫助

0
$('input[name="addcomment"]').on('click',function(){ 
    var comment = $('textarea').val(); 
    $('textarea').remove(); // removes the textarea 
    var actContent = $(this).parent().html(); // get the actual content of the parent dom node. 
    $(this).parent.html('<p>'+comment+'</p>'+actContent); // you set the new html content for the parent dom node 

}); 

因此,這將需要textarea的內容,並保存到一個段落。有點尷尬的解決方案,但它應該做的魔術。

+0

嗨,這兩個答案似乎工作,直到頁面刷新completley。 textarea消失了一會兒,然後再次返回。但是我通過在頁面中添加{if} {/ if}語句找到了解決方案。所以當答覆=空時,它顯示一個textarea或其他答覆的值。所以這解決了我的問題。不是我一直在尋找的方式,但它工作正常。謝謝你的幫助。 – 2013-02-26 01:21:59

0

很多方法可以做到這一點,但這裏是想到什麼:

$('input[name="addcomment"]').on('click', function() { 
    var textArea = $('textarea[name="reply_for_{$item.id}"]'); 
    var text = textArea.val(); 
    $('<div id="no-editing-me">').text(text).insertAfter(textArea); 
    textArea.hide(); 
}); 

如果你給你的元素ID,您將不必擔心所有[name="reply_for_{$item.id}"]泥流在jQuery的。它也會更快。