Avatar billede KingMedia Novice
10. januar 2004 - 18:56 Der er 13 kommentarer og
1 løsning

Aflæse Querystrings navne og værdier

Jeg fandt følgende i et spørgsmål på eksperten
og har ændret strTekst til andet eksempel

( http://www.eksperten.dk/spm/276531 )



<%
Dim strTekst, intStart, intSlut, intSidste
strTekst = "http://www.server.dk/test.asp?Name=Mads&city=Greve&phone=12345678"

do
  t = t + 1

  intStart = InStr(1, strTekst, "=") + 1
  intSlut = InStr(intStart, strTekst, "&")
  intSidste = int(len(strTekst) + 1)

  If intSlut > 0 Then
    Response.Write "<b>ID" & t & " : </b>" & Mid(strTekst, intStart, intSlut-intStart) & "<BR>"
  Else
    Response.Write "<b>ID" & t & " : </b>" & Mid(strTekst, intStart, intSidste-intStart) & "<BR>"
    Exit do
  End If 

  strTekst = Mid(strTekst, intSlut +1 , intSidste)
loop
%>


Det er i og for sig ogsåp fint nok .. den udskriver så

ID1 : Mads
ID2 : Greve
ID3 : 12345678

Det jeg ville høre jer eksperter om er, om man på samme måde, og i samme script kan udskrive navnene i stedet for bare ID1,ID2 osv ? altså eksempel

name : Mads
city : Greve
phone : 12345678


grunden er, at jeg aldrig ved hvilke navne og værdier en querystring har, ellers havde det jo været nemt nok ;o)
Avatar billede erikjacobsen Ekspert
10. januar 2004 - 19:06 #1
Sådan skal du *ikke* gøre. Brug:

  for each a in Request.QueryString
      response.write a & " " & request.querystring(a) & "<br>"
  next
Avatar billede KingMedia Novice
10. januar 2004 - 19:14 #2
erikjacobsen >>  Det er jo fint nok som du beskriver :o)

det eneste er, at jeg skal kunne splitte dem, og tjekke på navne , og om dette er tomt

f.eks..

www.domain.dk/string.asp?Name=Mads&Gender=Male&height=&City=Greve&phone=

i dette tilfælde er både Phone og gender tomme..
(det kunne være hvad som helst.. dette er bare et eksempel)

Jeg skal bruge det til en function der validerer forms.
og mange forskellige.. derfor skal den gennemløbe querystring'en for hvad der bliver postet, og om evt. felter er tomme :o)
Avatar billede KingMedia Novice
10. januar 2004 - 19:14 #3
valideringen skal seføli være clientside, derfor denne måde :o)
Avatar billede erikjacobsen Ekspert
10. januar 2004 - 19:16 #4
ASP kører ikke klient-side - hvad er det egentlig du spørger om ?
Avatar billede KingMedia Novice
10. januar 2004 - 19:23 #5
jeg ved godt at ASP ikke kører clientside.. :o)
Men min validering skal foregå clientside..

smider lige noget kode.. ville dette kunne lade sig gøre ?

jeg *ved*  godt at jeg er i ASP..  men da ASP skal bruges som en del af det, så var det mest nærliggende at smide spørgsmålet her..

----------------------------------
<Script language="JavaScript">

function CheckForm() {

    var errorMsg = "";

<%

for each a in Request.QueryString
      response.write "if (document.form." & a & ".value == """"){errorMsg += ""\n\t" & a & "\t- Udfyld venligst"";}"
  next
 
%>
   
    if ((errorMsg != "")){
        msg = "_________________________________________________\n\n";
        msg += "Fejl i indtastning !\n";
        msg += "_________________________________________________\n\n";
        msg += "Du mangler at udfylde følgende\n";
       
        errorMsg += alert(msg + errorMsg + "\n\nRet fejlen(e) og prøv igen.");
        return false;
    }
   
    if (errorMsg == 0) {
   
    document.form.submitbutton.disabled = true;
    document.form.resetbutton.disabled = true;
   

    }
   
    return true;
}
</script>


/Mads
Avatar billede erikjacobsen Ekspert
10. januar 2004 - 19:24 #6
Øhhh, jeg forstår ikke hvad det er du spørger om, og hvad dit problem er.
Prøv igen - ellers lader vi det bare stå til andre, der er kløgtigere end mig ;)
Avatar billede KingMedia Novice
10. januar 2004 - 19:30 #7
heh ..  jeg *prøver* virkelig at beskrive det så godt som muligt *g*
hader selv de der "jeg har et problem" spørgsmål, og jeg ved du kan svare på meget.. hehe

mit spg er:

Kan man som ovenstående kodestump, smide det ASP ind i det javascript validering, så den gennemløber formen ved onsubmit ? :o) 
jeg bruger self. method="get" i min form, så det bliver skrevet ud i QueryString'en :o)

hjalp det lidt ? eller er der mere du har brug for at vide ? for så må du eeeendelig spørge..    er ved at blive desperat med det møg her *G*

/Mads
Avatar billede erikjacobsen Ekspert
10. januar 2004 - 19:34 #8
Jeg ved ikke om jeg forstår noget som helst, men mon ikke i hvert fald at

  response.write "if (document.form." & a & ".value == """"){errorMsg += ""\n\t" & a & "\t- Udfyld venligst"";}"

skulle være noget i retning af

  if request.querystring(a)<>"" then
    response.write "errorMsg += '\n\t" & a & " - Udfyld venligst';"
  end if

Men hvordan får du puttet værdierne tilbage i formen?
Avatar billede erikjacobsen Ekspert
10. januar 2004 - 19:35 #9
...og... kan du ikke holde det 100% klient-side?
Avatar billede KingMedia Novice
10. januar 2004 - 19:39 #10
kan måske godt holde det 100% clientside..

er måske det smarteste..  kan bare ikke lige se hvordan jeg skulle klare det hvis nu det er en form med lad os sige 20 felter.

det jeg ville lave var en dynamisk validering, så jeg slipper for at hardcode det hele :o)

/Mads - spiser BRB
Avatar billede erikjacobsen Ekspert
10. januar 2004 - 19:46 #11
Du kan sagtens løbe alle felter igennem i en form i JavaScript, uden at kende navnene.
Spørg (eller SØG) i den rigtige kategori, hvis du vil prøve.
Avatar billede KingMedia Novice
10. januar 2004 - 19:58 #12
ahh ok ..    Jamen ..  det må jeg prøve så..  synes bare det var nærliggende at spørge i ASP. javascript er jeg ikke lige skarp til . (og åbenbart heller ikke de nemme løsninger i ASP ) *G*

vil du ha nogle pts for ulejligheden ? :o)

Du svarede jo på det oprindelige spg. :o)
Avatar billede erikjacobsen Ekspert
10. januar 2004 - 19:59 #13
Nej tak, samler ikke på point.
Avatar billede KingMedia Novice
10. januar 2004 - 20:00 #14
well..  iorden. så lukker jeg her.

Og tak for hjælpen :o)

/Mads
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