我想从我的aspx页面中动态创建的html文本框中获取值。首先,我想检查文本框是否存在。如果存在,那么我想从这些texbox中获取值。这是我用于动态创建文本框的代码
<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>
此代码生成文本框生成,我使用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>
这适用于在我的页面中放置默认值的文本框。但对于在这些文本框之后动态生成的文本框,我知道如何将这些文本框的值发送到我的下一页
Javascript和asp.net专家请帮我解决此问题
由于
答案 0 :(得分:0)
您可以使用FormCollection
获取控件值。请注意,它适用于名称而非Id。
您需要保留计数并遵循控件名称的一些命名约定。
创建一个asp.net隐藏字段并保持控制计数。并根据隐藏字段的值获取。
Msdn link
答案 1 :(得分:0)
如果你要为你的表单分配一个id 您可以序列化您的表单并使用ajax发布它(如果您需要)
$.post("complete.aspx",$("#data_form").serialize(),function(response){
//react to the post here
});