再次对于弹出DIV层提问?笨就让自己笨到底。
1.介绍:在页面中,有一个按钮,点击后会弹出一个隐藏层,这个隐藏层里面有服务器控件TEXTBOX与BUTTON,我要用BUTTON按钮的单击事件把TEXTBOX中的值传入数据库,我将代码写在这个BUTTON的单击事件里。
2.运行:当我点页面按钮显示这个隐藏层后(可移动),我在弹出的隐藏层里的TEXTBOX中输入数据,然后点BUTTON按钮,TEXTBOX中的值完整的传入到数据库中,但是当我点了BUTTON后这个隐藏层随着页面的回发(刷新)也自动的隐藏了起来(虽然数据已经正确传入数据库中),但不是我想要的效果,如果我还要继续往TEXTBOX中输入数据呢?难道又要点一次页面中显示隐藏层的按钮吗?这样效率太不高了,我要的效果是当我点了BUTTON后,数据要正确传入数据库并且弹出的层仍然显示着,让我继续输入,直到我要手动关闭弱出的层(当然弹出的层右上角有关闭层的方法)。我查了相关资料很久了,但还是没有得到解决的方案。
提示:1.我用的都是服务器控件不是HTML控件,如果把弹出层中的按钮换成HTML控件,我试了页面就不会刷新,弹出来的层也不会自动隐藏起来,但是我不知道怎么用HTML控件传值。
2.用服务器控件,我加用AJAX,让弹出层里的控件传值,不让页面刷新,弹出来的层也不会自动隐藏起来了,但是我在弹出的层中用了FILEUPLOAD上传图片的控件,而且带有预览功能,当用了AJAX,传值就会报错,这是意料中的事儿,直到现在我还是没得到解决。
请教高手朋友们,帮我解决一下,再此先谢谢了!
[解决办法]
- HTML code
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <script type="text/javascript" language="javascript"> var popup_dragging = false; var popup_target; var popup_mouseX; var popup_mouseY; var popup_mouseposX; var popup_mouseposY; var popup_oldfunction; function popup_display(x) { var win = window.open(); for (var i in x) win.document.write(i + ' = ' + x[i] + '<br>'); } // ----- popup_mousedown ------------------------------------------------------- function popup_mousedown(e) { var ie = navigator.appName == "Microsoft Internet Explorer"; if (ie && window.event.button != 1) return; if (!ie && e.button != 0) return; popup_dragging = true; popup_target = this['target']; popup_mouseX = ie ? window.event.clientX : e.clientX; popup_mouseY = ie ? window.event.clientY : e.clientY; if (ie) popup_oldfunction = document.onselectstart; else popup_oldfunction = document.onmousedown; if (ie) document.onselectstart = new Function("return false;"); else document.onmousedown = new Function("return false;"); } // ----- popup_mousemove ------------------------------------------------------- function popup_mousemove(e) { if (!popup_dragging) return; var ie = navigator.appName == "Microsoft Internet Explorer"; var element = document.getElementById(popup_target); var mouseX = ie ? window.event.clientX : e.clientX; var mouseY = ie ? window.event.clientY : e.clientY; element.style.left = (element.offsetLeft + mouseX - popup_mouseX) + 'px'; element.style.top = (element.offsetTop + mouseY - popup_mouseY) + 'px'; popup_mouseX = ie ? window.event.clientX : e.clientX; popup_mouseY = ie ? window.event.clientY : e.clientY; } // ----- popup_mouseup --------------------- function popup_mouseup(e) { if (!popup_dragging) return; popup_dragging = false; var ie = navigator.appName == "Microsoft Internet Explorer"; var element = document.getElementById(popup_target); if (ie) document.onselectstart = popup_oldfunction; else document.onmousedown = popup_oldfunction; } // ----- popup_exit ------------------------ function popup_exit(e) { if (document.getElementById('<%=hid.ClientID %>').value) { document.getElementById('<%=hid.ClientID %>').value = 'false'; element = document.getElementById('popup'); element.style.visibility = "hidden"; element.style.display = "none"; return; } var ie = navigator.appName == "Microsoft Internet Explorer"; var element = document.getElementById(popup_target); popup_mouseup(e); element.style.visibility = 'hidden'; element.style.display = 'none'; } // ----- popup_show ------------------------ function popup_show() { document.getElementById('<%=hid.ClientID %>').value = 'true'; element = document.getElementById('popup'); drag_element = document.getElementById('popup_drag'); exit_element = document.getElementById('popup_exit'); element.style.position = "absolute"; element.style.visibility = "visible"; element.style.display = "block"; element.style.left = (document.documentElement.scrollLeft + popup_mouseposX + 20) + 'px'; element.style.top = (document.documentElement.scrollTop + popup_mouseposY) + 'px'; drag_element['target'] = 'popup'; drag_element.onmousedown = popup_mousedown; exit_element.onclick = popup_exit; } // ----- popup_mousepos -------------------- function popup_mousepos(e) { var ie = navigator.appName == "Microsoft Internet Explorer"; popup_mouseposX = ie ? window.event.clientX : e.clientX; popup_mouseposY = ie ? window.event.clientY : e.clientY; } // ----- Attach Events --------------------- if (navigator.appName == "Microsoft Internet Explorer") document.attachEvent('onmousedown', popup_mousepos); else document.addEventListener('mousedown', popup_mousepos, false); if (navigator.appName == "Microsoft Internet Explorer") document.attachEvent('onmousemove', popup_mousemove); else document.addEventListener('mousemove', popup_mousemove, false); if (navigator.appName == "Microsoft Internet Explorer") document.attachEvent('onmouseup', popup_mouseup); else document.addEventListener('mouseup', popup_mouseup, false); // ----- 图片预览 --------------------- function show1(upimg) { var dd = document.getElementById("divview"); dd.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = upimg; dd.style.width = 131; dd.style.height = 110; dd.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = 'scale'; } window.onload = function () { if (document.getElementById('<%=hid.ClientID %>').value) { element = document.getElementById('popup'); element.style.position = "absolute"; element.style.visibility = "visible"; element.style.display = "block"; //element.style.left = (document.documentElement.scrollLeft + popup_mouseposX + 20) + 'px'; //element.style.top = (document.documentElement.scrollTop + popup_mouseposY) + 'px'; exit_element = document.getElementById('popup_exit'); exit_element.onclick = popup_exit; } else { element = document.getElementById('popup'); element.style.visibility = "hidden"; element.style.display = "none"; } } </script> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> </head><body> <form id="form1" runat="server"> <asp:HiddenField ID="hid" runat="server" /> <input type="button" onclick="popup_show()" value='登录' /> <div class="sample_popup" id="popup" style="visibility: hidden; display: none;"> <!----> <div class="Outgoodslabelstyle_6" id="popup_drag" style="background-color: #000066; border: 1px solid #FF3300"> <table cellpadding="0" cellspacing="0" class="style9"> <tr> <td class="style10"> 此层可移动 </td> <td class="style11"> <img class="menu_form_exit" id="popup_exit" src="fxxx.gif" /> </td> </tr> </table> </div> <div class="menu_form_body" id="KuFang"> <div style="border: 1px solid #FF9933"> <table> <tr> <th bgcolor="#003366" class="style2"> <div id="divview" style="filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image); width: 131px; height: 110px; background-color: #3A4F63; line-height: 90px; overflow: hidden; text-align: center;"> </div> </th> <td bgcolor="#003366" class="style1"> <asp:FileUpload ID="FileUpload1" runat="server" onpropertychange="show1(this.value)" /> </td> </tr> <tr> <th bgcolor="#003366" class="style5"> 姓名: </th> <td bgcolor="#003366" class="style6"> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> </td> </tr> <tr> <th bgcolor="#003366" class="style5"> 身份证: </th> <td bgcolor="#003366" class="style6"> <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> </td> </tr> <tr> <th bgcolor="#003366" class="style8" colspan="2"> <asp:Button ID="Button1" runat="server" Text="保存" /> </th> </tr> </table> </div> </div> </div> </form></body></html>