打开新窗口,并且父窗口得到新窗口的返回值,比如论坛头像的选择,对firefox同样适合
2005-09-22 15:06
375 查看
1,如何弹出新窗口?
<script language="javascript">
function OpenImage()
{
window.open("b.aspx","sdf","width=600,height=400,scrollbars=yes");
return false;
}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<a href="javascript:" onclick="return OpenImage();">打开那个头像页面</a><br>
<asp:Image id="img1" runat="server" ImageUrl="face/167.gif"></asp:Image>
</form>
</body>
</HTML>
注意上面的代码有return,一定要return啊,不然firefox可能会报错误.当然不用showModel....
的原因是firefox不支持,要不方便的多
2,假设父窗口为a.aspx,新窗口为b.aspx,在b.aspx文件中这样 吧
<script language=javascript>
function PI(url)
{
var a = opener.document.getElementById("img1");
a.src = url;
window.close():
}
</script>
好了,现在是b.aspx.cs,他用来遍历face头像目录的所有图片并且显示出来
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!IsPostBack)
{
DisplayFace();
}
}
private void DisplayFace()
{
Response.Write("<table cellpadding=0 cellspacing=0 border=0 align='center' width='100%'><tr>");
string appUrl;
//得到应用程序路径
if (Request.ApplicationPath == "/")
appUrl = Request.ApplicationPath;
else
appUrl = Request.ApplicationPath + "/";
//Response.Write(imageFileLocation);
string appPath = HttpContext.Current.Request.PhysicalApplicationPath;//获得应用程序物理路径
string imageFolderPath = appPath + "face";//获得头像目录
string[] filesArray = System.IO.Directory.GetFiles(imageFolderPath,"*");//得到所有的头像图片文件
int i = 0;//用他来做循环,每行输出8个头像图片
foreach(string imageFile in filesArray)
{
string imageFileName = imageFile.Substring(imageFile.LastIndexOf("\\")+1);//取的图片的真实名字,不包含路径
string imageFileLocation = appUrl.Substring(appUrl.LastIndexOf("\\")+1);
//取得头像图片路径
imageFileLocation += "face";
imageFileLocation += "/";
imageFileLocation += imageFileName;
string str = "<td align='center' width='25%'>"+"<a href=javascript:PI('"+imageFileLocation+"')><img border='0' src='"+imageFileLocation+"'></a>"+"</td>";
Response.Write(str);
i++;//每执行一次i加1
if(i%5==0)
{
Response.Write("</tr><tr>");//如果已经是5个头像了,就换行
}
}
Response.Write("</tr></table>");
}
好了,完全好了,现在在ie和tt和firefox下面测试都正常!
只是显示图片的时候有个问题
因为每行5个图片也就是5个单元格,如果最后那行只有4个头像或者三个
就会出现一把X
不知道怎么样解决
如果有朋友知道解决可要告诉我啊
function PI(url)
{
var a = opener.document.getElementById("img1");
var a1 = opener.document.getElementById("txtImage");
a.src = url;
a1.value = url;
window.close();
}
<script language="javascript">
function OpenImage()
{
window.open("b.aspx","sdf","width=600,height=400,scrollbars=yes");
return false;
}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<a href="javascript:" onclick="return OpenImage();">打开那个头像页面</a><br>
<asp:Image id="img1" runat="server" ImageUrl="face/167.gif"></asp:Image>
</form>
</body>
</HTML>
注意上面的代码有return,一定要return啊,不然firefox可能会报错误.当然不用showModel....
的原因是firefox不支持,要不方便的多
2,假设父窗口为a.aspx,新窗口为b.aspx,在b.aspx文件中这样 吧
<script language=javascript>
function PI(url)
{
var a = opener.document.getElementById("img1");
a.src = url;
window.close():
}
</script>
好了,现在是b.aspx.cs,他用来遍历face头像目录的所有图片并且显示出来
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!IsPostBack)
{
DisplayFace();
}
}
private void DisplayFace()
{
Response.Write("<table cellpadding=0 cellspacing=0 border=0 align='center' width='100%'><tr>");
string appUrl;
//得到应用程序路径
if (Request.ApplicationPath == "/")
appUrl = Request.ApplicationPath;
else
appUrl = Request.ApplicationPath + "/";
//Response.Write(imageFileLocation);
string appPath = HttpContext.Current.Request.PhysicalApplicationPath;//获得应用程序物理路径
string imageFolderPath = appPath + "face";//获得头像目录
string[] filesArray = System.IO.Directory.GetFiles(imageFolderPath,"*");//得到所有的头像图片文件
int i = 0;//用他来做循环,每行输出8个头像图片
foreach(string imageFile in filesArray)
{
string imageFileName = imageFile.Substring(imageFile.LastIndexOf("\\")+1);//取的图片的真实名字,不包含路径
string imageFileLocation = appUrl.Substring(appUrl.LastIndexOf("\\")+1);
//取得头像图片路径
imageFileLocation += "face";
imageFileLocation += "/";
imageFileLocation += imageFileName;
string str = "<td align='center' width='25%'>"+"<a href=javascript:PI('"+imageFileLocation+"')><img border='0' src='"+imageFileLocation+"'></a>"+"</td>";
Response.Write(str);
i++;//每执行一次i加1
if(i%5==0)
{
Response.Write("</tr><tr>");//如果已经是5个头像了,就换行
}
}
Response.Write("</tr></table>");
}
好了,完全好了,现在在ie和tt和firefox下面测试都正常!
只是显示图片的时候有个问题
因为每行5个图片也就是5个单元格,如果最后那行只有4个头像或者三个
就会出现一把X
不知道怎么样解决
如果有朋友知道解决可要告诉我啊
function PI(url)
{
var a = opener.document.getElementById("img1");
var a1 = opener.document.getElementById("txtImage");
a.src = url;
a1.value = url;
window.close();
}
相关文章推荐
- vb 利用API 打开文件浏览窗口 选择返回目录
- (论坛答疑点滴)怎么后台添加CheckBoxList并且得到选择结果
- js弹出一个新窗口进行选择并且返回这个页面的值-showModalDialog
- 给定一个整数(字符串也适用)序列,重新排列,得到最大的结果,比如31,3,35,7,9根据排列后得到组合 9735331,返回的是string类型
- 得到新打开Activity 关闭后返回的数据
- 接收用showModalDialog打开模式窗口返回的值
- open打开窗口并且获得打开窗口的窗口对象
- (论坛答疑点滴)如何判断链接是否有效并且如果有效的话得到源代码
- 2、 excel 导出。这种输入方式,适合后台输出,不需要打开EXCEL文件,不需要选择输出路径,只是后台自己默默的记录EXCEL文件。
- open 打开指定大小的窗口 并且不可改变大小的方法
- 得到新打开Activity 关闭后返回的数据
- WIN32,,打开文件没有默认程序,调用系统的默认程序选择窗口
- 更换头像的逻辑代码,两个功能,一个是从图库选择,一个是打开相机自己拍照
- Flex打开新窗口,数据传送,然后返回
- 选择相册照片并且显示(拿到返回的图片地址)
- android 打开新窗口返回处理
- 返回N协议与选择重传协议的发送窗口大小问题
- 解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
- 子窗口选择多值返回至父窗口的文本框中
- php如何通过get方法发送http请求,并且得到返回的参数