Avatar billede webbe Nybegynder
17. januar 2003 - 20:09 Der er 7 kommentarer og
1 løsning

Reloade en side med informationer fra en popup

Hejsa eksperter

Jeg har med hjælp fået lavet et script der ved tryk på en bestemt taste åbner en lille popup hvor man kan logge på en admindel til et site jeg laver.

Mit spørgsmål går så på:

hvordan kan jeg sende brugernavn og password tilbage til default-siden, samtidig med at jge lukker popupen, og derigennem gennemføre et logon?
Avatar billede cdc Novice
17. januar 2003 - 20:32 #1
Prøv evnt. denne:

på din hovedside:

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript"><!--
myPopup = '';

function openPopup(url) {
    myPopup = window.open(url,'popupWindow','width=640,height=480');
    if (!myPopup.opener)
        myPopup.opener = self;
}
//--></SCRIPT>
</HEAD>
<BODY>
<FORM>
<INPUT TYPE="BUTTON" VALUE="Open Popup" onClick="openPopup('popupPage.html')">
</FORM>

<FORM NAME="hiddenForm" ACTION="nextPage.html">
<INPUT TYPE="HIDDEN" NAME="myTextField">
</FORM>

</BODY>
</HTML>


I popupPage.html:

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript"><!--
function copyForm() {
    opener.document.hiddenForm.myTextField.value = document.popupForm.myTextField.value;
    opener.document.hiddenForm.submit();
    window.close();
    return false;
}
//--></SCRIPT>
</HEAD>
<BODY>
<FORM NAME="popupForm" onSubmit="return copyForm()">
<INPUT TYPE="TEXT" NAME="myTextField">
<INPUT TYPE="BUTTON" VALUE="Submit" onClick="copyForm()">
</FORM>
</BODY>
</HTML>
Avatar billede webbe Nybegynder
17. januar 2003 - 20:46 #2
Nope - virker sikkert fint hvis man har en knap at trykke på, men jeg har lavet en hotkey (alt gr+|) som åbner popupen.
Avatar billede Slettet bruger
17. januar 2003 - 22:15 #3
Hvad med at du smed et link så?
Avatar billede webbe Nybegynder
18. januar 2003 - 09:29 #4
Hvad sker der her?
Kan ikke se indlægene!!!
Avatar billede webbe Nybegynder
18. januar 2003 - 13:08 #5
Linket er:

http://www.qdm.dk/qdm_ny

brugernavn: test
password: test
Avatar billede Slettet bruger
18. januar 2003 - 15:58 #6
I din popup:

<form method="POST" action="din_side.php" target="aabner" name="form1" onSubmit="opener.name = 'aabner'; return true;">

Olebole har tidligere argumenteret imod denne løsning, fordi den åbenbart skulle være et eksempel på dårlig kodeskik. Dog er den, så vidt jeg kan se, komplet lovlig iflg. standarderne. Så nu må han gerne forklare sig! :)
Avatar billede webbe Nybegynder
20. januar 2003 - 08:28 #7
phoenixv:

Hmmm - har nu prøvet at skrive dit forslag ind, men der sker ikke rigtig noget.

Min aabner-side ser sådan ud:

<%response.buffer = true%>
<!-- #include file="include/db.inc"-->
<html>
<head>
<title>Quality Data Management</title>
<link href="Include/qdm.css" rel="stylesheet" type="text/css">
<%
UID = Trim(request.QueryString("userid"))
PID = Trim(request.QueryString("passid"))
%>
<script language="JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// -->
</script>
<%
if uid = "" and pid = "" Then
%>
<script language="JavaScript1.2">

var hotkey=124
var destination="adm_log.asp"
if (document.layers)
document.captureEvents(Event.KEYPRESS)
function backhome(e){
if (document.layers){
if (e.which==hotkey)
window.location=destination
}
else if (document.all){
if (event.keyCode==hotkey)
window.open('adm_log.asp', 'Administration', 'width=150,height=135');
}
}
document.onkeypress = backhome

</script>
<%
end if

if not UID = "" AND PID = "" Then
sql = "SELECT * FROM Admins WHERE UID='"&UID&"' AND PID='"&PID&"'"
set rs = conn.execute(sql)
if not rs.eof then
    Session("hbedit") = true
end if
End if
fSQL = "SELECT * FROM Forside"
set rf = conn.execute(fSQL)
%>
</head>
<body background="images/1x1.gif">
<!-- #include file="include/menu.inc"-->
<table border="1" bordercolor="#FFFFFF" cellpadding="0" cellspacing="2" width="100%" align="center">
    <tr>
        <td align="center" height="460">
            <table border="0" cellpadding="0" cellspacing="5" align="center" width="550">
                <tr>
                    <td valign="top">
                        <img src="images/image_service.gif">
                    </td>
                    <td valgn="top">
                    <%
                    if session("hbedit") Then
                    %>
                        <textarea name="forside" cols="40" rows="8"><%=rf("Tekst")%></textarea>
                    <%
                    else
                    %>
                        <font size="+1">
                            <%=replace(rf("Tekst"),VbCrLf,"<br>")%>
                        </font>
                    <%end if%>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>
</body>
</html>

og min popup:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%response.buffer = true%>
<!-- #include file="include/db.inc"-->
<html>
<head>
<title>QDM - Admin logon</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="Include/qdm.css" rel="stylesheet" type="text/css">
<%
If (Request.ServerVariables("CONTENT_LENGTH") > 0) Then

UID = request.form("user")
PID = request.form("pass")
%>
<script  language="JavaScript">
window.opener.location.href ="default.asp?userid=<%=UID%>&passid=<%=PID%>";
window.close();
</script>
<%
End if
%>
</head>
<body background="images/1x1.gif">
<center>
<form method="POST" action="default.asp" target="aabner" name="form1" onSubmit="opener.name = 'aabner'; return true;">
Admin logon<br>
<br>
Brugernavn:<br>
<input type="text" name="user" size="15">
<br>
Password:<br>
<input type="text" name="pass" size="15"><br>
<input type="SUBMIT" name="ok" value="Login" class="knap">
</form>
</center>
</body>
</html>

Måske er det bare mig der er langsomt opfattende, men jeg kan ikke få det til at virke!
Avatar billede webbe Nybegynder
20. januar 2003 - 11:09 #8
Har selv løst problemet med nogle session variable:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%response.buffer = true%>
<!-- #include file="include/db.inc"-->
<html>
<head>
<title>QDM - Admin logon</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="Include/qdm.css" rel="stylesheet" type="text/css">
<%
If (Request.ServerVariables("CONTENT_LENGTH") > 0) Then

UID = request.form("user")
PID = request.form("pass")

sql = "SELECT * FROM Admins WHERE BID='"&UID&"' AND PID='"&PID&"'"
Set rs = Conn.execute(sql)
if not rs.eof then
    session("hbedit") = true
end if
%>
<script  language="JavaScript">
window.opener.location.href ="default.asp";
window.close();
</script>
<%
End if
%>
</head>
<body background="images/1x1.gif">
<center>
<form method="POST" action="" name="form1">
Admin logon - <%=site%><br>
<br>
Brugernavn:<br>
<input type="text" name="user" size="15">
<br>
Password:<br>
<input type="text" name="pass" size="15"><br>
<input type="SUBMIT" name="ok" value="Login" class="knap">
</form>
</center>
</body>
</html>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester