首页 新闻 会员 周边

javascript 动态添加删除控件怎么取值啊

0
悬赏园豆:50 [已关闭问题]

我动态添加了,很多输入框,开始我提交时候怎么取到输入框值啊(asp.net).

<script language="javascript">

var i = 0,j = 0;     //行号与列号
var oNewRow,oNewRow2,oNewRow3;    //定义插入行对象
var oNewCell1,oNewCell2,oNewCell3;     //定义插入列对象
//添加条件行
function AddRow()
{
i = document.all.MyTable.rows.length;

oNewRow = document.all.MyTable.insertRow(i);
oNewRow.id = j;
oNewRow2 = document.all.MyTable.insertRow(i+1);
oNewRow2.id = j+1;
oNewRow3 = document.all.MyTable.insertRow(i+2);
oNewRow3.id = j+2;
var cont=j+1;
//添加第一行
oNewCell1 = document.all.MyTable.rows[i].insertCell(0)
//oNewCell1.innerHTML = "新描述"+ j +"<input type='text' id='Value" + j + "'"+" size='14' value=\"\">";
oNewCell1.innerHTML ="新描述:"+cont+"<a name=Del" + j + " onClick='DelCurrentRow(" + j + ");' href='javascript:;' >删除当前行</a>";
//添加第二行>
oNewCell2 = document.all.MyTable.rows[i+1].insertCell(0)
oNewCell2.innerHTML = "<textarea id='Value" + j + "'"+"  style='width: 728px; height: 75px;' MaxLength='700' value=\"\">";
//添加第三行 >
oNewCell3 = document.all.MyTable.rows[i+2].insertCell(0)
oNewCell3.innerHTML = "<hr width='700px'>"
j++;
}

//删除行
function DelCurrentRow(j)
{
with(document.all.MyTable)
{
for (var i=0;i<rows.length;i++)
{
if (rows[i].id == j)
{
deleteRow(i);
deleteRow(i);
deleteRow(i);
}

}
}
}
</script>

<hr width="700px">
<table>
    <tr>
        <td>
            <table cellpadding="0" cellspacing="0" align="left" width="100%" style="font-family: 宋体;
                font-size: 12px; border: 0px;">
                <tr>
                    <td style="border: 0px;">
                    </td>
                </tr>
                <tr>
               
                    <td style="border: 0px; height: 14px;">
                        <a id="attach" style="font-family: 宋体; font-size: 12px;" title="如果您要发送多个,您只需多次点击“添加”即可."
                            onclick="AddRow();" href="javascript:;" name="attach">添加新描述</a>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td>
            <table cellpadding="0" cellspacing="0" align="left" width="100%" style="font-family: 宋体;
                font-size: 12px; border: 0px;" id="MyTable" border="0">
            </table>
        </td>
    </tr>
</table>

前台输出没有呢,不知道怎么取了MyTable还是空的

 

shangb的主页 shangb | 初学一级 | 园豆:185
提问于:2009-02-13 17:54
< >
分享
其他回答(4)
0

你还是先把错别字改改吧, 看不懂.

光阴四溅 | 园豆:215 (菜鸟二级) | 2009-02-13 23:31
0

mark...

Jared.Nie | 园豆:1940 (小虾三级) | 2009-02-14 13:40
0

加一个 <asp:HiddenField ID="XXX" runat="server" ></asp:HiddenField>
在你提交之前 获取所有你添加的 input的值,放入 HiddenFiled。然后在后台取HiddenFiled的值就可以了。

码尔代夫iimax | 园豆:3138 (老鸟四级) | 2009-02-14 14:31
0

通过Request对象来访问动态添加的控件。Request.Form

tryBest | 园豆:165 (初学一级) | 2009-02-14 23:25
0

增加控件的时候利用js的appendChild来增加,也就是对于控件的操作需要在DOM树上来做。

你这样做DOM上是没有的,而且需要增加name属性,这个是后台读取所必须的。另外就是需要保存每个name的名称了。这样可以在后台读取的时候有个依据,不然动态创建,后台也不知道具体有多少需要读取。

建议增加checkbox来保存创建的name,这样动态删除的时候,也就删除了名称,后台直接读取checkbox的值就可以了。

迷路中的路人甲 | 园豆:93 (初学一级) | 2009-02-18 15:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册