Avatar billede kimlarsen1978 Nybegynder
31. maj 2004 - 12:53 Der er 25 kommentarer og
2 løsninger

Onblur > opslag i db via ASP > Alert

Hej
Jeg vil gerne at en ny bruger indtaster sit brugernavn at der kommer et "Onblur" tjeck på om brugernavnet er frit.

Onblur kør denne funktion:
-------------------
function(){
  strbrugernavn = document.Form.elements[0].value

//Lav et kald via ASP til min DB

strSQL = "Select * From users where brugernavn = '" & strbrugernavn & "'"
Set rs = Conn.Execute(strSQL)

If Not (rs.BOF Or rs.EOF) Then
Conn.Close
set Conn = Nothing

ALERT ("BRUGERNAVN OPTAGET");
return false
end if


}
---------------------
Jeg ved godt jeg blander JaveScrip, VP script, client og server sammen, men jeg ved bare ikke hvordan jeg skal skrive det for at det kommer til at virke.

Er der én der kan dreje den?
Avatar billede keysersoze Ekspert
31. maj 2004 - 13:05 #1
som jeg ser det er der to muligheder;

1 - tag et kig på dette spm. http://www.eksperten.dk/spm/495287

2 - lav et javascript-array men samtlige brugernavne, når der så bliver skrevet et brugernavn loopes array'et igennem for at se om nogle navne stemmer overens
Avatar billede kimlarsen1978 Nybegynder
31. maj 2004 - 13:11 #2
1) - Kigger lige...
2) - så får jeg alle brugernavne ud på klienten - det er jeg ikke så interesseret i...
Avatar billede keysersoze Ekspert
31. maj 2004 - 13:17 #3
2) fuldstændig korrekt - ikke særlig smart... nævnte det også kun som en mulighed.

En helt tredie mulighed var måske at lave en iframe der blev kaldt på inblur og i den iframe kørte du en ASP-side der slog navnet op
Avatar billede kimlarsen1978 Nybegynder
31. maj 2004 - 13:33 #4
1) Der skal jeg jo kalde siden igen, eller en anden side der ville jeg helst undgå.

Den tredie mulighed er nok bedst. Men hvis jeg bruger Iframes hvordan får jeg så kaldt mellem de 2 sider?

side1.asp den sider hvor brugeren taster brugernavn ind
side2.asp den side som kører i IFramen

Så skal det vel være noget alla det her:
----------------
inblur -->> kald JS funktion på side1.asp som kalder IFrame med var brugernavn -->> slå op i IFrame via ASP -->> alert på side1.asp hvis brugernavn findes
---------------

Spørgsmål:
1) Hvordan kalder jeg en IFrame fra et JS?
2) Hvordan får jeg alert på side1.asp hvis side2.asp i IFrames finder at brugernavet er optaget?
Avatar billede keysersoze Ekspert
31. maj 2004 - 14:09 #5
kald siden i iframen på ny

location.href = 'side.asp?navn=' + document.form.brugernavn.value

og alert'en er ganske normal

alert('fejl');
Avatar billede grunken Nybegynder
31. maj 2004 - 14:09 #6
sådan vel :o)

(1) input:

<input type="text" name="brugernavn" onchange="document.frames.IFRAME.location.href='side1.asp?brugernavn='+this.value;">

(2) iframe:

<%
strbrugernavn = Request.QueryString("brugernavn")

strSQL = "Select * From users where brugernavn = '" & strbrugernavn & "'"
Set rs = Conn.Execute(strSQL)

If Not (rs.BOF Or rs.EOF) Then
Conn.Close
set Conn = Nothing
  response.write "<script type=""text/javascript"">window.alert('" & strbrugernavn & " eksisterer allerede\nindtast et nyt');</script>"
end if
%>
Avatar billede kimlarsen1978 Nybegynder
31. maj 2004 - 14:18 #7
Jeg kigger på grunken's forslag
Avatar billede kimlarsen1978 Nybegynder
31. maj 2004 - 14:36 #8
Det virker jo 98%. Men det er nok ikke onchange man skal bruger for så virker det ikke hvis man indtaster forkert flere gang i træk - så ignorerer den det bare. Hvad er bedst OnBlur eller InBlur?
Avatar billede kimlarsen1978 Nybegynder
31. maj 2004 - 14:43 #9
Hvordan får jeg fat i formen fra IFramen af?
Jeg ville gerne rense feltet og sætte det i fokus, men jeg får at vide at formen ikke findes, og det er nok fordi den ikke finden på filen i IFRAMEN, hvordan kringler jeg den?

---------Fra IFramen----------------
response.write "<script type=""text/javascript"">window.alert('" & request.querystring("brugernavn") & " er desværre optaget som brugernavn\nIndtast venligst et nyt');"
response.write "document.all.SallingWebform.brugernavn.value = "";"
response.write "document.all.brugernavn.focus();"
response.write "</script>"
------------------------
Avatar billede grunken Nybegynder
31. maj 2004 - 14:44 #10
Så er det onblur :o)

tror at soze har banket en forkert tast i bund :o), for inblur er ikke gyldige efter mine referencer :o)

onblur effektueres hver gang at focus fra feltet forlades :o)

så ja den vil blive hver gang!
Avatar billede kimlarsen1978 Nybegynder
31. maj 2004 - 14:44 #11
Jeg har som I kan se forsøgt den grimme syntaks .all, men det var ikke nok :-(
Avatar billede grunken Nybegynder
31. maj 2004 - 14:45 #12
så ja den vil blive hver gang = så ja den vil blive kørt hver gang!

det går godt nick!
Avatar billede grunken Nybegynder
31. maj 2004 - 14:47 #13
parent.document.FORMNAVN.brugernavn.value;
parent.document.FORMNAVN.brugernavn.focus();
Avatar billede kimlarsen1978 Nybegynder
31. maj 2004 - 14:47 #14
Jeg forstår ikke din sidste kommentar...
Avatar billede kimlarsen1978 Nybegynder
31. maj 2004 - 14:47 #15
nu er jeg med igen :-)
Avatar billede grunken Nybegynder
31. maj 2004 - 14:48 #16
summasumarum er at du skal vælge at bruge onblur :o)
Avatar billede kimlarsen1978 Nybegynder
31. maj 2004 - 14:49 #17
Hvordan skal "parent" forstås i denne sammenhæng. Er det kun fordi jeg bruge IFrames at jeg kan bruge den? Eller vil den altid finde der forrige dokument?
Avatar billede grunken Nybegynder
31. maj 2004 - 14:49 #18
*tsk

parent.document.FORMNAVN.brugernavn.value ='';
Avatar billede grunken Nybegynder
31. maj 2004 - 14:51 #19
parent finder ALTID det forrige dokument :o), som du selv siger!

altså det dokument der i dette tilfælde indeholder i framen :o)
Avatar billede kimlarsen1978 Nybegynder
31. maj 2004 - 15:04 #20
Jep :-)
Så kører det. Jeg vil gerne give point så smid lige nogle svar. Jeg synes i skal dele
-->> keysersoze for ideen
og
..>> grunken for kode

ok?
Avatar billede grunken Nybegynder
31. maj 2004 - 15:09 #21
selvfølgelig da :o)
Avatar billede keysersoze Ekspert
31. maj 2004 - 15:10 #22
hva' de'!!! påstår du at jeg banker mine taster i forkert rækkefølge!!!

;)
Avatar billede kimlarsen1978 Nybegynder
31. maj 2004 - 15:12 #23
smider du ikke et svar keysersoze?
Avatar billede grunken Nybegynder
31. maj 2004 - 15:13 #24
:o)

-og soze kast så lige det svar !
Avatar billede keysersoze Ekspert
31. maj 2004 - 15:18 #25
svar
Avatar billede kimlarsen1978 Nybegynder
06. juni 2004 - 14:30 #26
Nu vi lige have det det parent halløj oppe at vende hvordan kalder jeg så en funktion på hovedsiden fra IFRAMEN....

parent.document.function.lukBoks();

er mit bud, men det virker desværre ikke
Avatar billede kimlarsen1978 Nybegynder
06. juni 2004 - 14:41 #27
har fundet ud af det

parent.lukBoks()

:-)
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