2010-03-21 87 views
0

我是jQuery的新手,所以這可能是一個真正簡單的答案。我有一個ASP.NET項目,我試圖通過在文本框中鍵入並單擊按鈕來動態地將內容添加到ASP Label元素。聽起來很簡單吧?那麼,我可以添加內容,但是當表單被提交時,Label元素仍然是空的?爲什麼沒有提交新的數據?我錯過了什麼步驟?請幫忙。下面是一些示例代碼:使用jQuery'append'添加的內容未被提交?

<asp:Label ID="lblContainer" Text="" runat="server" /> 
<input type="text" name="tag" id="tag" /> 
<input type="button" name="AddTag" value="Add" class="button" onclick="addTag();" /> 


function addTag() { 
    if ($("#tag").val() != "") { 
     $("#lblContainer").append('$("#tag").val()' + '<br />'); 
     $("#tag").val(""); 
    } 
} 
+0

請使用格式代碼按鈕,而不是「巧妙地」繞功能工作。 – SLaks 2010-03-21 21:24:49

回答

2

Asp.Net不工作,那是因爲當你提交表單時也不會發出<span>標籤的內容在HTTP帖子。您需要將該內容添加到某種<input>。試試像這樣的東西。

<span id="tagContainer" runat="server"></span> 
<input type="text" name="tag" id="tag" /> 
<input type="button" name="AddTag" value="Add" class="button" onclick="addTag();" /> 

<!-- Use a hidden field to store the tags --> 
<asp:HiddenField id="tagText" runat="server" /> 

function addTag() { 
    var newTag = $.trim($("#tag").val()); 
    if (newTag != "") { 
     $("#tag").val(""); 
     $("#tagContainer").append(" "+ newTag); 

     // append the newTag to the hidden field 
     var $tagText = $("#tagText"); 
     $tagText.val($tagText.val() + " " + newTag); 
    } 
} 

然後在你的asp.net代碼,你可以檢索值,像這樣..

string myTagText = tagText.value; 
+0

所以這個答案的障礙是我簡化了我的例子。其實,我添加的每個標籤,我還添加一個按鈕,可以點擊從列表中刪除元素(onclick =「($(this).parent()。remove())) 所以我猜這裏的新問題是,當用戶可以刪除他們希望的任何標籤時,我將如何保持這個隱藏的字段值是最新的!! – YourMomzThaBomb 2010-03-21 21:34:46

+0

然後你應該更新你的問題。 – jessegavin 2010-03-21 21:49:55

+0

我做了。一個ASP標籤應該更新/提交正確?!我一定錯過了一些愚蠢的東西。 – YourMomzThaBomb 2010-03-21 21:59:34