使用jQuery'append'的附加内容未提交?

时间:2010-03-21 21:18:53

标签: asp.net jquery ajax

我是jQuery的新手,所以这可能是一个非常简单的答案。我有一个ASP.NET项目,我试图通过在文本框中键入并单击按钮来动态地将内容添加到ASP Label元素。听起来很简单吧?好吧,我可以添加内容,但是当提交表单时,Label元素仍然是空的?为什么没有提交新数据?我错过了什么步骤?请帮忙。这是一些示例代码:

<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("");
    }
}

1 个答案:

答案 0 :(得分:2)

Asp.Net无法正常工作,因为在提交表单时,它不会在HTTP Post中发送<span>标记的内容。您需要将该内容添加到某种<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;