2012-04-02 39 views
0

我在jquery的下面的腳本:插入值創建的動態的JavaScript

$(document).ready(function() { 

     var counter = 2; 

     $("#addButton").click(function() { 

      if (counter > 10) { 
       alert("Only 10 textboxes allow"); 
       return false; 
      } 

      var newTextBoxDiv = $(document.createElement('div')) 
     .attr("id", 'TextBoxDiv' + counter); 

      newTextBoxDiv.html('<label>Raspuns' + counter + ' : </label>' + 
     '<input type="text" name="textbox' + counter + 
     '" id="textbox' + counter + '" value="" >'); 

      newTextBoxDiv.appendTo("#TextBoxesGroup"); 


      counter++; 
     }); 

     $("#removeButton").click(function() { 
      if (counter == 1) { 
       alert("No more textbox to remove"); 
       return false; 
      } 

      counter--; 

      $("#TextBoxDiv" + counter).remove(); 

     }); 


    }); 

這上的一個按鈕的按壓產生動態文本框。我的問題是:我怎樣才能從這個動態texboxes使用c#.in PHP的值我做了一個foreach,但在C#它不工作。你能指點我一個方向嗎?我在一個asp.net應用程序中使用了c#。我已經更新了jquery的答案,但仍然沒有弄清楚如何從文本框中獲取值。

+0

您是否嘗試過在ASP.NET頁面上設置斷點並檢查POST數據的內容?應該很清楚你必須從數據結構本身做什麼。甚至不需要閱讀文檔,即使這也是一個好主意。 – Tomalak 2012-04-02 09:54:47

+0

通過javascript添加到頁面中的任何html控件修改都不會被服務器端識別。而不是從服務器端讀取控件,您可以通過asp hiddenfield傳遞值 – mshsayem 2012-04-02 09:56:19

+0

我怎麼能通過它們? – Bibu 2012-04-02 10:58:57

回答

0

我認爲你必須使用Json(例如,使用JQuery)。

0

嘗試在字段名稱中不帶[]。糾正我,如果我錯了,但顯然[]是PHP發明的東西,這是沒有必要的。例如,我最喜歡的框架(django)不支持名稱類似foo []的字段,也就是說它確實支持名稱爲「foo」的多個字段。這是標準的,在c#上應該是這樣。

請注意,要測試它,你應該檢查從C#完整的後變量。

0

在提交頁面之前,只需讀取動態文本框的值,並通過javascript將它們(由任何特殊字符分隔)放入asp隱藏字段中,然後提交。現在從服務器端讀取hiddenfield的值,split;你得到了值

0

對於動態創建的字段,你必須使用JSON。

將頁面數據序列化爲JSON。

現在使用jQuery發佈數據。

在後面的代碼中,可以將JSON反序列化爲字符串。請訪問this page