2012-04-02 118 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