如何获取返回值?

handy_wzh 2009-12-08 09:41:14
单击文本框时弹出一个窗口321.aspx,里面有一个GridView显示的结果集,我已经设置单击结果集前的<checkbox>就会获取某一行各列的值。

问题: 现在我要把获取到的值返回到Default.aspx,但不知道怎么取到返回的值,且要分开填入文本框。(问题所在点在疑问号处)

Default.aspx

<script language="javascript">
function showmodel0()
{
var result=showModalDialog('321.aspx','subpage','dialogWidth:470px;dialogHeight:300px;center:yes;help:no;resizable:no;status:no');
if(result!=null)
{
document.all.TextBox1.value=?
document.all.TextBox2.value=?
document.all.TextBox3.value=?
document.all.TextBox4.value=?
}
else
{
alert("没有返回数据");
}
}
</script>
<table class="style1">
<tr>
<td class="style2">
零件编码:</td>
<td class="style3">
<asp:TextBox ID="TextBox1" runat="server" onclick="showmodel0(this)"></asp:TextBox>
</td>
<td class="style4">
零件名称:</td>
<td>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style2">
零件规格:</td>
<td class="style3">
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</td>
<td class="style4">
零件单价:</td>
<td>
<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style2">
 </td>
<td class="style3">
 </td>
<td class="style4">
 </td>
<td>
 </td>
</tr>
</table>


321.aspx

<script language="javascript">
function show(e)
{
var cb=null;
var aa=e.parentNode.parentNode;
for(var i=1;i<aa.cells.length;i++)
{
cb=aa.cells[i].innerText;
}
window.returnValue=1;
window.close();
}

</script>
<asp:GridView ID="GridView1" runat="server"
BackColor="White" AllowPaging="true" PageSize="12"
BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" CellPadding="4"
CssClass="css" Width="490px" AutoGenerateColumns="False">
<FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
<RowStyle BackColor="White" ForeColor="#003399" />
<Columns>
<asp:TemplateField HeaderText="选择">
<ItemTemplate><asp:CheckBox ID="chk" runat="server" onclick="show(this)" />
</ItemTemplate>
<HeaderStyle Wrap="False" />
<ItemStyle HorizontalAlign="Center" Wrap="False" />
</asp:TemplateField>
<asp:BoundField DataField="BmID" HeaderText="零件编码">
<HeaderStyle Wrap="False" />
<ItemStyle HorizontalAlign="Center" Wrap="False" />
</asp:BoundField>
<asp:BoundField DataField="PartName" HeaderText="零件名称">
<HeaderStyle Wrap="False" />
<ItemStyle Wrap="False" />
</asp:BoundField>
<asp:BoundField DataField="Standard" HeaderText="零件规格">
<HeaderStyle Wrap="False" />
<ItemStyle Wrap="False" />
</asp:BoundField>
<asp:BoundField DataField="Price" HeaderText="价格">
<HeaderStyle Wrap="False" />
<ItemStyle HorizontalAlign="Center" Wrap="False" />
</asp:BoundField>
<asp:BoundField DataField="Posi" HeaderText="使用部位">
<HeaderStyle Wrap="False" />
<ItemStyle Wrap="False" />
</asp:BoundField>
</Columns>
<PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
<SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
<HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
</asp:GridView>
...全文
115 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhong2006 2009-12-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sk_aqi 的回复:]
window.opener.document.getElementById("name").value="";
[/Quote]
这种方法只能用在window.open() 打开的子窗口里面,向父窗口返回值
zhong2006 2009-12-08
  • 打赏
  • 举报
回复
321.aspx
C# code
<script language="javascript">
function show(e)
{
var cb="0";
var aa=e.parentNode.parentNode;
for(var i=1;i<aa.cells.length;i++)
{
cb+=","+aa.cells[i].innerText;
}
window.returnValue=cb;
window.close();
}
</script>


Default.aspx
C# code
<script language="javascript">
function showmodel0()
{
var result=showModalDialog('321.aspx','subpage','dialogWidth:470px;dialogHeight:300px;center:yes;help:no;resizable:no;status:no');
if(result!=null)
{
var str=result.split(",");
document.getElementById("TextBox1").value=str[1];
document.all.TextBox2.value=str[2];
document.all.TextBox3.value=str[3];
document.all.TextBox4.value=str[4];
}
else
{
alert("没有返回数据");
}
}
</script>
comzheng 2009-12-08
  • 打赏
  • 举报
回复
default.aspx页面代码:
<asp:TextBox ID="Text_PropertyType" runat="server"></asp:TextBox>
<input class="InputType" name="Submit4" onclick="MM_openBrWindow('PropertyType.aspx','','width=720,height=450,scrollbars=1,resizable=0')" type="button" value="选择" />
打开的窗口页面代码
js方法:
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_popupMsg(Type)
{ //v1.0
window.close();
window.opener.document.form1.Text_PropertyType.value=Type;
}
</script>
选择按钮
<a href="#" onclick='javascript:MM_popupMsg("<%#Eval("PropertyTypeName")%>")'>选择</a>


这样就OK了。
获取很多值也一样。
SK_Aqi 2009-12-08
  • 打赏
  • 举报
回复
window.opener.document.getElementById("name").value = "";
SmallTigerWeskit 2009-12-08
  • 打赏
  • 举报
回复
nosuchtracter 2009-12-08
  • 打赏
  • 举报
回复
用模式对话框
搜索下 子窗口 返回值

62,264

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧