Avatar billede dcasso Nybegynder
06. august 2003 - 10:50 Der er 14 kommentarer og
1 løsning

Returner værdi fra popup vindue

Hej

En der gider lave et eksempel som gør følgende.

Brugeren indtaster en værdi i et textfelt på hoveformen, når brugeren forlader feltet, åbnes et popup vindue som dernæst returner true eller false (alt efter noget aspkode jeg udfører).
Denne true false værdi skal tilbage til hovedformen, så jeg kan vise noget grafik.

Håber meget en gider vise mig det :) Og spare mig meget tid, er ret så ringe til javascript.

Må desværre ikke give mere end 200
Avatar billede grunken Nybegynder
06. august 2003 - 10:53 #1
burde ikke være så dælens svært, skal popuppen lukkes når den har udført asp'n ?
Avatar billede dcasso Nybegynder
06. august 2003 - 11:13 #2
ja

kan godt være det ikke er så svært, men jeg har i hvert fald ingen ide om det :)
Avatar billede zaknafein Praktikant
06. august 2003 - 11:27 #3
det kan gøres ganske simpelt.

Fil 1 indeholder selve tekstfeltet i en form:
<html>
<head>
    <title>Untitled</title>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
function openwin()
{
window.open('x.asp', '_blank');
}
</SCRIPT>
</head>

<body>
<form name="myform">
<input name="txt" id="txt" type="text" value="xcdscw" onBlur="openwin()">
</form>
</body>
</html>



Fil 2 er popup filen og indeholder dit asp. Nu skriver den bare "true" i det første vindues tekstfelt:
<html>
<head>
    <title>Untitled</title>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
window.opener.myform.txt.value="True";
</SCRIPT>
</head>
<body>
</body>
</html>
Avatar billede dcasso Nybegynder
06. august 2003 - 11:32 #4
Hvordan sender jeg værdien med fra tekstfeltet på fil 1
Avatar billede zaknafein Praktikant
06. august 2003 - 11:37 #5
den kan du hente fra popupformen på samme måde som du sætter den.
i fil 2 siger du
var x = window.opener.myform.txt.value
så indeholder x værdien.
men hvis du skal reagere på værdien på serveren via ASP script, ja så skal den enten med som querystring fra fil 1, eller skal fil 2 reloade sig selv med den værdi den henter.

Hvis du sender den med som qstring kan gdu gøre sådan her:
Du skal bare ændre din window.open funktio til det her:
window.open('x.asp?val='+myform.txt.value+'', '_blank');
Avatar billede mm12010 Nybegynder
06. august 2003 - 11:37 #6
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
function openwin(vaerdi)
{
window.open('x.asp?v='+vaerdi, '_blank');
}
</SCRIPT>

<input name="txt" id="txt" type="text" value="xcdscw" onBlur="openwin(this.value)">
Avatar billede zaknafein Praktikant
06. august 2003 - 11:38 #7
så kan du i fil 2 gøre sådan her
<%
x = request.querystring("val")
if x = "ninja" then
  TakeOverFortKnoxAndSendMeAllOfTheirGoldbars()
end if
%>
Avatar billede dcasso Nybegynder
06. august 2003 - 11:48 #8
Merci, virker som det skal og du har sparet mig en satans masse tid.

har jeg ret i at ligesom jeg kan kalde tekstfeltet fra fil 2, så kunne jeg eks. også kalde en variabel ved window.opener.x = "nyværdi"
Avatar billede zaknafein Praktikant
06. august 2003 - 11:51 #9
Hmmm tjae jeg er ikke helt med.
Avatar billede dcasso Nybegynder
06. august 2003 - 11:54 #10
Jeg har en variabel som bruges til at sikre at brugeren ikke kan godkende formen uden at alle de fornødne felter er udfyldt, dvs. når de klikker på submit tjekker jeg om min variabel på noget tidspunkt er blevet sat til false, er den det, så skal de ikke kunne submitte.

Derfor tænkte jeg om det er muligt fra popup vinduet at ændre en variabel på fil 1, således jeg ved submit kan sikre mig at feltet er udfyldt godt nok
Avatar billede zaknafein Praktikant
06. august 2003 - 11:54 #11
ja det er lige det den håndtere..
Avatar billede dcasso Nybegynder
06. august 2003 - 11:56 #12
finno, du må hygge og tak for den ret hurtige hjælp, en løsning på en time kan man da vist ikke klage over :)
Avatar billede zaknafein Praktikant
06. august 2003 - 11:56 #13
i fil 1 har du en intern javascript variabel, du checker på ved submit.
Fil 2 kan så sætte den værdi til false, hvis indtastningen ikke er ok.

sådan en variabel laver du bare i dig <script> tag: Her sættes den til false som default. Så skal fil 2 sætte den til true når indtastningen spiller.

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">

var SubmitState = false;
function openwin()
{
window.open('x.asp?val='+myform.txt.value+'', '_blank');
}
</SCRIPT>
Avatar billede zaknafein Praktikant
06. august 2003 - 11:57 #14
selvtak.  Jeg skulle alligevel ikke noget  :)  (yeah  right  red.)
Avatar billede dcasso Nybegynder
06. august 2003 - 11:58 #15
ok, det mente jeg også :) Ville bare være sikker
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