2011-10-20 36 views
0

我不相信,你可以使用直接從編輯的DIV內容的輸入,並在表單提交,所以我想,我可能只是有一個隱藏的文本字段,做這樣的事情:如何從contentEditable div中獲取html以進入隱藏文本表單元素?

var blog_post = $("#editable_div").html(); 
$('#hidden_text_area').val(blog_post); 

有誰知道一種方法來做到這一點?這不符合我的要求。我認爲,也許$('#hidden_text_area').val(blog_post);需要由一個事件觸發,但我嘗試了一下,並沒有奏效。

$('#clicker').click(function(){ 
    $('#hidden_text_area').val(blog_post); 
}) 

回答

2

嘗試:

$('#clicker').click(function(){ 
var blog_post = $("#editable_div").html(); 
$('#hidden_text_area').val(blog_post); 
}) 

因爲它看起來並不像你blog_post變量包含當你點擊這個按鈕的HTML內容。

+0

好吧,我明白了。博客文章變量只在加載時設置,這使其變爲空白。我正在想象它在我打字時正在傾聽。 –

0

請檢查alert($('#hidden_​​text_area'))是否給出對象。如果它沒有給出對象,那麼它有問題,否則$('#hidden_​​text_area')。val(blog_post);應該管用。

+0

是返回[對象對象] –

+0

那麼你得到什麼錯誤,請描述 –

+0

我沒有得到一個錯誤。 hidden_​​text_area只是沒有被html填充。現在我沒有隱藏文本區域,所以我可以看到它保持空白。 –

0

似乎很適合我的工作,但是,請注意,在值屬性的HTML將被轉義:

HTML:

<textarea id="content"> 
    <p style="background-color: blue;">Testing</p> 
</textarea> 
<input type="button" value="hit me" id="btn" /> 
<div id="parent"> 
    <input type="text" name="testinput" id="inputtest" value="" /> 
</div> 

JS:

$("#btn").click(function() { 
    var html_contents = $("#content").html(); 
    $("#inputtest").val(html_contents); 
}); 
+0

是的,我沒有在click事件中包含html_contents變量。我認爲它是自己更新的。 –

相關問題