Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从asp.net中动态生成的html文本框中获取值_Javascript_Asp.net - Fatal编程技术网

Javascript 如何从asp.net中动态生成的html文本框中获取值

Javascript 如何从asp.net中动态生成的html文本框中获取值,javascript,asp.net,Javascript,Asp.net,我想从aspx页面中动态创建的html文本框中获取值。现在我首先要检查文本框是否存在。如果存在,那么我想从这些文本框中获取值。下面是我用来动态创建文本框的代码 <script type="text/javascript"> var counter = 2; $(document).ready(function () { $("#addButton").click(function () { if (counter > 3

我想从aspx页面中动态创建的html文本框中获取值。现在我首先要检查文本框是否存在。如果存在,那么我想从这些文本框中获取值。下面是我用来动态创建文本框的代码

<script type="text/javascript">
    var counter = 2;
    $(document).ready(function () {

        $("#addButton").click(function () {
            if (counter > 3) {
                alert("Limit Exceeds");
                return false;
            }
            var $wrap = $('#TextBoxesGroup');
            var dynamichtml = '<div id="div' + counter + '"><div class="mcity"><label> Leaving from</label><input type="text" name="textbox' + counter + '" id="textbox' + counter + '" class="auto"/>  </div><div class="mcity"> <label> Going to</label>  <input type="text" name="textbox' + counter + '" id="textbox' + counter + 1 + '" class="auto"/> </div><div class="mcity"> <label> Going to</label>  <input type="text" name="textbox' + counter + '" id="textbox' + counter + 11 + '" class="auto"/> </div>';
            $wrap.append(dynamichtml);
            counter++;
        });

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

            counter--;
            $("#TextBoxesGroup").find("#div"+ counter).remove();
          //  $("#TextBoxesGroup").find("#textbox" + counter+1).remove();


        });
  $(".auto").live("focus", function () {

                  $(this).autocomplete({

                      source: function (request, response) {
                          var textval = request.term; // $(this).val();
                          $.ajax({
                              type: "POST",
                              contentType: "application/json; charset=utf-8",
                              url: "Home.aspx/GetAutoCompleteData",
                              data: "{'code':'" + textval + "'}",
                              dataType: "json",
                              success: function (data) {
                                  response(data.d);
                              },
                              error: function (result) {
                                  alert("Error");
                              }
                          });
                      }
                  });
              });
          });

</script>

var计数器=2;
$(文档).ready(函数(){
$(“#添加按钮”)。单击(函数(){
如果(计数器>3){
警报(“超出限额”);
返回false;
}
var$wrap=$(“#TextBoxesGroup”);
var dynamichtml='从出发到出发';
$wrap.append(dynamichtml);
计数器++;
});
$(“#移除按钮”)。单击(函数(){
如果(计数器==1){
警报(“不再需要删除文本框”);
返回false;
}
计数器--;
$(“#TextBoxesGroup”).find(“#div”+counter.remove();
//$(“#文本框组”).find(“#文本框”+计数器+1.remove();
});
$(“.auto”).live(“焦点”,函数(){
$(此)。自动完成({
来源:功能(请求、响应){
var textval=request.term;//$(this.val();
$.ajax({
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
url:“Home.aspx/GetAutoCompleteData”,
数据:“{'code':'”+textval+“}”,
数据类型:“json”,
成功:功能(数据){
答复(数据d);
},
错误:函数(结果){
警报(“错误”);
}
});
}
});
});
});
这段代码正在生成文本框,我正在使用json自动完成过程从数据库中获取数据。在此之后,我尝试使用javascript将信息发送到另一个页面。下面是我为此编写的代码

<script type="text/javascript">
      $(function () {
          $("#btnPost").bind("click", function () {
              //Create a Form
              var $form = $("<form/>").attr("id", "data_form")
                            .attr("action", "Complete.aspx")
                            .attr("method", "post");
              $("body").append($form);

              //Append the values to be send
              AddParameter($form, "txtleft", $("#txtSearchleft").val());
              AddParameter($form, "txtright", $("#txtSearchright").val());

              //Send the Form
              $form[0].submit();
          });
      });
      function AddParameter(form, name, value) {
          var $input = $("<input />").attr("type", "hidden")
                                .attr("name", name)
                                .attr("value", value);
          form.append($input);
      }
    </script>

$(函数(){
$(“#btnPost”).bind(“单击”,函数(){
//创建表单
var$form=$(“”).attr(“id”,“数据形式”)
.attr(“操作”,“完成.aspx”)
.attr(“方法”、“职位”);
$(“正文”)。附加($表格);
//附加要发送的值
AddParameter($form,“txtleet”,$(“#txtsearchleet”).val();
AddParameter($form,“txtright”,$(“#txtSearchright”).val();
//寄表格
$form[0]。提交();
});
});
函数AddParameter(形式、名称、值){
var$input=$(“”).attr(“类型”、“隐藏”)
.attr(“名称”,名称)
.attr(“值”,值);
表格。追加($input);
}
这对于在我的页面中放置默认值的文本框很好。但是对于在这些文本框之后动态生成的文本框,我不知道如何将这些文本框的值发送到下一页

Javascript和asp.net专家请帮助我解决这个问题


谢谢

您可以使用
FormCollection
获取控件值。请注意,它是根据名称而不是Id工作的

您需要保持计数,并遵循控件名称的命名约定。

创建asp.net隐藏字段,并将控件计数保留在该字段中。并根据隐藏字段的值获取。

如果你要给你的表格分配一个id 如果需要,您可以序列化表单并使用ajax发布它

$.post("complete.aspx",$("#data_form").serialize(),function(response){
//react to the post here
});

在动态创建表单时,需要生成控件并将其添加到表单中。然后你可以将表单提交到下一页如果我没有错,那么我们在MVC中使用FormCollection。先生,我说得对吗?请澄清我的疑问。如果我错了,那就告诉我me@Azadchouhan它位于核心
asp.net
中,
mvc
不是mvc,而是
asp.net mvc
,因此
asp.net
中的每个特性都位于
asp.net mvc