Avatar billede martin_moth Mester
01. maj 2003 - 01:11 Der er 6 kommentarer og
2 løsninger

Luk vindue (lidt kompliceret)

MinASP.asp er en "tilmeldingsside" hvor man kan angive diverse info, og er disse info OK sendes en email af sted, og MinASP.asp skulle så gerne lukke. Det med at lukke er mit problem, alt det andet virker 100% OK

PRINCIP:
Nogle værdier instastes i nogle <input type="text">
Værdien af disse felter sendes tilbage til MinASP.asp, men valideres først clientside via mine javascriptfunktioner - er de OK sendes de af sted.

Når de er sendt af sted hentes de med min serverside VBScript med request. Vha. en masse If'ere tjekkes om værdierne er OK, er de det køres resten af min serverside-script, hvor værdierne sendes i en email af sted via en aspEmail-komponent. Og så er det at jeg gerne vil lukke vinduet - men hvordan?

KODE (forenklet):

<head>
<script language="javascript">
  function valider(){
  if (document.forms[0].text.value.length==0) {
    alert("Indtast nu noget");
    return false;
    };
  return true;
  };

  function LUKVINDUE(){
    self.close();
  };
</head>
<body>
<form action="MinASP.asp.asp" method="post" onsubmit="return valider()">
<input type="text" name="text">
<input type="submit">
</form>

<%
  text=Request.Form("text")
  If text<>"" Then
    'bla bla bla - send en email via aspEmail-komponent
  call LUKVINDUE() '<--VIRKER IKKE
  end if
%>

PROBLEM:
Hvad gør jeg galt - uanset hvad, kan jeg ikke kalde en javascriptfunktion som jeg forsøger. Sikkert fordi jeg overser en serverside/clientside konflikt, eller?.

Uanset hvordan jeg skal gøre - hvordan fa.... får jeg lukket det vindue?
Avatar billede grunken Nybegynder
01. maj 2003 - 01:15 #1
du kan ikke kalde en js function i asp :)

hvofor gør du ikke bare som nedenstående ?


<%
  text=Request.Form("text")
  If text<>"" Then
    'bla bla bla - send en email via aspEmail-komponent
  response.write "<script language=""javascript"">"
  response.write "self.close();"
  response.write "</script>
  end if
%>

-grunken
Avatar billede grunken Nybegynder
01. maj 2003 - 01:18 #2
upz ;D

mangler lige en "

sådan :

  response.write "<script language=""javascript"">"
  response.write "self.close();"
  response.write "</script>"
Avatar billede martin_moth Mester
01. maj 2003 - 01:26 #3
Jeg er uenig med dig i at man ikke kan kalde en js function i asp:

www.w3schools.com/asp/asp_procedures.asp ("How to call both a JavaScript procedure and a VBScript procedure in an ASP file.")

Men det er også lige meget - du gav det svar jeg ønskede, selvom jeg lige måtte rette det til:

  response.write "<script language="& chr(34) & "javascript" & chr(34) & ">"
  response.write "self.close();"
  response.write "</script>"

Nu gider jeg ikke eksperimenterer - kan asp-siden godt opfatte "" så jeg slipper for chr(34) ?

Tak for hjælpen - sommetider kan man ikke se skoven for bare træer - smid et svar og få dine points ;o)
Avatar billede grunken Nybegynder
01. maj 2003 - 01:34 #4
Du har sq ret ;D

men jeg mener ikke lige at det er en særlig smart måde at det er lavet på, det vil kun give problemer

og hvofor dælen er du nødt til at bruge chr(34) tingen ?

nå nevermind, du får da et svar ?

men det var et let spørgsmål, så tag endelig nogen point selv :)

30 er vel passende ;D
Avatar billede grunken Nybegynder
01. maj 2003 - 01:39 #5
hov *GG*
Avatar billede martin_moth Mester
01. maj 2003 - 01:39 #6
Ja, det var måske lige i overkanten - jeg havde bare stirret mig blind p ådet, og kunne ikke se løsningen...


Mht. chr(34) er jeg vant til at bruge den hvis jeg skal have " ind som et tegn i en string - men det er måske ikke nødvendigt i VBScript :o)

Vi deler så 50/50 :o)
Avatar billede grunken Nybegynder
01. maj 2003 - 01:41 #7
overhovedet ikke nødvendigt :)

den løsning jeg gav dig virker efter hensigten :) to " efter hinanden giver samme effekt :)
Avatar billede grunken Nybegynder
01. maj 2003 - 01:41 #8
tak for points ;)
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
Kurser inden for grundlæggende programmering

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