asp.net js点击按钮自动加一行

asp.net前台页面:<inputid="_changdi"runat="server"type="text"/><inputid="_time"runat="serv... asp.net 前台页面:
<input id="_changdi" runat="server" type="text" />
<input id="_time" runat="server" type="text" />
<input id="btnAdd" type="button" value="" onclick="add()" />

<script type="text/javascript">
function add() {

var tt = "<div class=\"sss\">" +
"<input id='_changdi' runat='server' />" +

"<input id='_time' runat='server' />" +
"<input class='_jine' type='text' disabled='disabled' >" +
"<input type='button' class='b_del' onclick='del(this)' />" +
"</div>";

$("#content").append(tt);
}
</script>
新加的id跟默认的id是一样,就会报错。如何让新加一行的id变成"_changdi1" ,再加一行变成"_changdi2"
.net 后台该怎么接收呢?
加了runat=server ,拼接问题
展开
 我来答
匿名用户
2015-09-07
展开全部
基于你的代码,先说前端部分,想要id里面带有数字变量,需要你在js函数外面定义一个计数器,在函数里面递增(或者根据DOM元素动态计算)。
后端部分,可以遍历Request.Form键值(动态添加的这些行要包裹在一个form里面)以获取页面输入值。
代码类似于:
<script type="text/javascript">
var lineCount = 1;
function add() {
var tt = "<div class=\"sss\">" +
"<input id='_changdi" + lineCount + "' runat='server' />" +
"<input id='_time" + lineCount + "' runat='server' />" +
"<input class='_jine' type='text' disabled='disabled' >" +
"<input type='button' class='b_del' onclick='del(this)' />" +
"</div>";
$("#content").append(tt);
lineCount++;
}
</script>

--------------------------
取值类似于:
for(int i = 0; i < Request.Form.AllKeys.Length; i++)

{
if(Request.Form.AllKeys[i].StartsWith("_changdi"))
{
// xx = Request.Form[Request.Form.AllKeys[i]];
}
else if(Request.Form.AllKeys[i].StartsWith("_time"))
{
// yy = Request.Form[Request.Form.AllKeys[i]];
}
}
追问
用jquery ajax怎么提交呢? 因为一用button页面就刷新了。后面添加的行的数据就没有了。
追答

因为是前端动态添加的数据,所以页面刷新之后就没有了,如果要显示有两个办法:

  1. 在页面再次加载时将数据从后台取出,展示在前端(后台处理,建议你把一行封装为一个自定义控件);

  2. 就是你说的ajax方式提交数据,那样你要自己写button的提交事件,并且要屏蔽掉按钮的自动提交事件(return false)。代码类似于:

    $("#buttonID").unbind("click").click(function () {

        $.post("post_url", $("#formID").serialize(), function(savingResult) {

            // ....保存成功/失败的前端处理

        }, "json");

        return false;

    }

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式