如何获取GridView1表中的各个input和textarea控件的值
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm5.aspx.cs" Inherits="VicSoftCms.WebFile.WebForm5" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<script type="text/javascript">
// Example: obj = findObj("image1");
function findObj(theObj, theDoc) { var p, i, foundObj; if (!theDoc) theDoc = document; if ((p = theObj.indexOf("?")) > 0 && parent.frames.length) { theDoc = parent.frames[theObj.substring(p + 1)].document; theObj = theObj.substring(0, p); } if (!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj]; for (i = 0; !foundObj && i < theDoc.forms.length; i++) foundObj = theDoc.forms[i][theObj]; for (i = 0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++) foundObj = findObj(theObj, theDoc.layers[i].document); if (!foundObj && document.getElementById) foundObj = document.getElementById(theObj); return foundObj; }
//添加一个参与人填写行
function AddSignRow() {//读取最后一行的行号,存放在txtTRLastIndex文本框中
var txtTRLastIndex = findObj("txtTRLastIndex", document);
var rowID = parseInt(txtTRLastIndex.value);
var gridView1 = findObj("GridView1", document);
//添加行
var newTR = gridView1.insertRow(gridView1.rows.length);
newTR.id = "SignItem" + rowID;
// //添加列:团队类型
// var newNameTD = newTR.insertCell(0);
// //添加列内容
// newNameTD.innerHTML = newTR.rowIndex.toString();
//添加列:团队类型
var newNameTD = newTR.insertCell(0);
//添加列内容
newNameTD.innerHTML = "<td align=\"center\" valign=\"middle\" style=\"font-weight:bold;width:6%;\">第<br/>" + rowID + "<br/>天</td>";
//添加列:经济等
var newNameTD = newTR.insertCell(1);
//添加列内容
var str = "<td align=\"left\" style=\"font-weight:bold;width:88%;\"><table align=\"left\" cellpadding=\"1\" cellspacing=\"1\" bgColor=\"#cccccc\" border=\"1\" style=\"width:100%;\">"
str = str + "<tr bgColor=#f7f7f7><td width=\"10%\" align=\"right\">行程简介</td>"
str = str + "<td align=\"left\"><input name=\"GridView1$ctl02$TextBox33" + rowID + "\" type=\"text\" id=\"GridView1_ctl02_TextBox33" + rowID + "\" style=\"width:99%;\" value=\"" + rowID + "\"/></td></tr>"
str = str + "<trbgColor=#f7f7f7><td width=\"10%\" align=\"right\">详细行程</td>"
str = str + "<td align=\"left\"><input type=\"hidden\" id=\"GridView1_ctl02_FCKeditor22" + rowID.toString() + "\" name=\"GridView1$ctl02$FCKeditor22" + rowID + "\" value=\"" + rowID.toString() + rowID.toString() + "\"/><input type=\"hidden\" id=\"GridView1_ctl02_FCKeditor22"+ rowID.toString() + "___Config\" value=\"HtmlEncodeOutput=true\" /><iframe id=\"GridView1_ctl02_FCKeditor22" + rowID.toString() + "___Frame\" src=\"/_libs/fckeditor/editor/fckeditor.html?InstanceName=GridView1_ctl02_FCKeditor22" + rowID.toString() + "&Toolbar=VicSoft\" width=\"100%\" height=\"250px\" frameborder=\"no\" scrolling=\"no\"></iframe></td></tr>"
//str = str + "<td align=\"left\"><script type=\"text/javascript\"> var oFCKeditor = new FCKeditor('FCKeditor1'); oFCKeditor.BasePath = \"_libs/FCKeditor/\";oFCKeditor.Create(); <\/script><\/td><\/tr>";
str = str + "<trbgColor=#f7f7f7><td width=\"10%\" align=\"right\">住宿或返程</td>"
str = str + "<td align=\"left\"><input name=\"GridView1$ctl02$TextBox44" + rowID + "\" type=\"text\" id=\"GridView1_ctl02_TextBox44" + rowID + "\" style=\"width:99%;\" value=\""+ rowID.toString()+ rowID.toString()+ rowID.toString()+"\"/></td></tr>"
str = str + "<trbgColor=#f7f7f7><td width=\"10%\" align=\"right\">行程中的著名景点</td>"
str = str + "<td align=\"left\"><textarea name=\"GridView1$ctl02$txtPhotoUrl" + rowID + "\" rows=\"2\" cols=\"20\" id=\"GridView1_ctl02_txtPhotoUrl" + rowID + "\" class=\"ipt\" style=\"width: 50%; height: 90px;\">" + rowID.toString() + rowID.toString() + rowID.toString() + rowID.toString() + "</textarea><iframe ID=\"I2\" frameborder=\"0\" height=\"90\" name=\"I2\" scrolling=\"no\" src=\"../admin/attachment_default3.aspx?ccid=6\" width=\"48%\"></iframe></td></tr></table></td>"
newNameTD.innerHTML=str;
//添加列:标准等
var newEmailTD = newTR.insertCell(2);
//添加列内容
newEmailTD.innerHTML = "<td align=\"center\" style=\"font-weight:bold;width:6%;\"><a href='javascript:;' onclick=\"if (confirm('确定要删除此条数据?')) {DeleteSignRow('SignItem" + rowID + "');}\">删除</a></td>";
//将行号推进下一行
txtTRLastIndex.value = (rowID + 1).toString();
}
//删除指定行AddThreeRow()
function DeleteSignRow(rowid) {
var gridView1 = findObj("GridView1", document);
var signItem = findObj(rowid, document);
//获取将要删除的行的Index
var rowIndex = signItem.rowIndex;
//删除指定Index的行
gridView1.deleteRow(rowIndex);
var inps = gridView1.getElementsByTagName("*");
for (var i = 0; i < inps.length; i++) {
// if (inps[i].id == "txtIndex" + rowIndex)
alert(inps[i].id + ":" + inps[i].value)
}
//重新排列团队类型,如果没有团队类型,这一步省略
for (i = rowIndex; i < gridView1.rows.length; i++) {
gridView1.rows[i].cells[0].innerHTML = "<td align=\"center\" valign=\"middle\" style=\"font-weight:bold;width:6%;\">第<br/>" + i.toString() + "<br/>天</td>";
}
var txtTRLastIndex = findObj("txtTRLastIndex", document);
txtTRLastIndex.value = gridView1.rows.length;
}
//清空列表
function ClearAllSign() {
if (confirm('确定要清空所有数据?')) {
var gridView1 = findObj("GridView1", document);
var rowscount = gridView1.rows.length;
//循环删除行,从最后一行往前删除
for (i = rowscount - 1; i > 0; i--) {
gridView1.deleteRow(i);
}
//重置最后行号为1
var txtTRLastIndex = findObj("txtTRLastIndex", document);
txtTRLastIndex.value = "1";
//预添加一行
AddSignRow();
}
}
</script>
<script type="text/javascript">
// 获取编辑器中HTML内容
function getEditorHTMLContents(EditorName) {
var oEditor = FCKeditorAPI.GetInstance(EditorName);
return (oEditor.GetXHTML(true));
}
function saveMasterSetting(elm) {
var power = "";
var Powers = "";
var cxpower1 = document.getElementById("DivPower1").getElementsByTagName("input");
cxpower1[0].value = "";
var cxpower2 = document.getElementById("DivPower2").getElementsByTagName("input");
cxpower2[0].value = "";
//var tr = elm.parentNode.parentNode;
var inps = GridView1.getElementsByTagName("input");
for (var i = 0; i < inps.length - 1; i++) {
var cxv = "GridView1_ctl02_FCKeditor22" + i.toString();
if (inps[i].id.toLowerCase() == cxv.toLowerCase()) {
power += i.toString() + "-" + getEditorHTMLContents(inps[i].id) + ",";
Powers += i.toString() + "-" + getEditorHTMLContents(inps[i].id) + ",";
}
else {
power += i.toString() + "-" + inps[i].value + ",";
Powers += i.toString() + "-" + inps[i].value + ",";
}
}
cxpower1[0].value = power; //power.substring(0, power.length - 4).replace(",,", ",");
cxpower2[0].value = Powers; //Powers.substring(0, Powers.length - 4).replace(",,", ",");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table cellspacing="0" cellpadding="4" border="0" id="GridView1" style="color:#333333;width:100%;border-collapse:collapse;" cellpadding="1" cellspacing="1" bgColor="#cccccc">
<tr style="color:White;background-color:#507CD1;font-weight:bold;">
<th align="center" scope="col" style="width:6%;">日期</th><th align="center" scope="col" style="width:88%;">详细行程</th><th align="center" scope="col" style="width:6%;">操作</th>
</tr>
<input name='txtTRLastIndex' type='hidden' id='txtTRLastIndex' value='1' />
<asp:Literal ID="Literal2" runat="server"></asp:Literal>
</table>
<table id="GridView2">
<tr>
<td>
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
<input type="button" name="Submit" value="添加详细报价" onclick="AddSignRow()" />
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" onclientclick="saveMasterSetting(GridView1);"/>
<div id="DivPower1"><asp:TextBox ID="txtLineprice" runat="server" CssClass="a"
Width="100%"></asp:TextBox></div><div id="DivPower2"><asp:TextBox ID="TextBoxPower2" runat="server" CssClass="a" Width="100%"></asp:TextBox></div>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
使用getEditorHTMLContents(EditorName)只能够取到第一个动态添加的fckeditor值,第二个以后就取不到。。
请高手指点。在线等。。。。