|
| Kan loop ikke fungere med Javascript ? Fra : Jakob Munck |
Dato : 01-09-01 23:04 |
|
Efter at have knoklet i lang tid er det lykkedes mig at lave et lave noget
kode, der gør at når man klikker på et link, åbnes der et popup vindue og
til dette sendes der en querystring med variable, der gør at man i dette
vindue kan vise en brugers indtastede oplysninger. Det hele fungerer,
undtagen det, at man åbenbart ikke kan loope med et Javascript.
På den linie, hvor jeg har skrevet ++ foran linien vises "rs("brugerNavn")"
korrekt, altså forskelligt for hver record der vises af recordsættet. Men
der hvor jeg har skrevet ++++ foran linien, altså i Javascriptet, der vises
variablen som den samme, uanset hvor i recordsættet man er. Der sendes altså
den samme quarystring til popup-vinduet, uanset hvilken record man vælger,
og det er ikke godt.
Altså: Hvordan får jeg variablen i linien med ++++ til at "loope" ligesom
den samme variabel gør, når den er en del af et link?
------------------------------------------
<%
do until rs.eof
%>
<td valign="top" class="lille">
++ <A HREF=Javascript:se_profil()><%=rs("brugerNavn")%></A>
<script LANGUAGE="JavaScript">
function se_profil(){
{
++++ window.open("lille_profil.asp?brugernavn=<%=rs("brugerNavn")%>",
'newwindow',
'width=260,height=285,resizable=1,status=0,left=300,top=200,menubar=0,scroll
bars=0,toolbar=0,location=0,directories=0');
}
}
</SCRIPT>
</td>
</tr>
<%
rs.MoveNext
loop
%>
-------------------------------------------
Jeg håber det er forståeligt, og glæder mig til at høre forslag til en
løsning.
v.h.
Jakob Munck
| |
Steffen Tiedemann Ch~ (02-09-2001)
| Kommentar Fra : Steffen Tiedemann Ch~ |
Dato : 02-09-01 12:47 |
|
Kan man ikke bruge :
while (!rs.eof()) {
.....
}
--
Steffen Tiedemann Christensen
steffen@infotouch.dk
| |
Jakob Munck (02-09-2001)
| Kommentar Fra : Jakob Munck |
Dato : 02-09-01 14:19 |
|
> Kan man ikke bruge :
>
> while (!rs.eof()) {
> .....
> }
>
Jeg har ikke forstand på Javascript, så jeg kan ikke se hvordan ovenstående
kode skal passes ind i den kode jeg p.t anvender. Kunne du skrive den fulde
kode, som du mener jeg skal prøve?
v.h.
Jakob Munck
| |
Lars Hoffmann (02-09-2001)
| Kommentar Fra : Lars Hoffmann |
Dato : 02-09-01 17:01 |
|
Jakob Munck wrote:
>
> Efter at have knoklet i lang tid er det lykkedes mig at lave et lave noget
> kode, der gør at når man klikker på et link, åbnes der et popup vindue og
> til dette sendes der en querystring med variable, der gør at man i dette
> vindue kan vise en brugers indtastede oplysninger. Det hele fungerer,
> undtagen det, at man åbenbart ikke kan loope med et Javascript.
Du prøver på intet tidspunkt at loope med javascriptet. Du looper med
ASp koden.
> Altså: Hvordan får jeg variablen i linien med ++++ til at "loope" ligesom
> den samme variabel gør, når den er en del af et link?
Det ønsker du jo ikke at gøre. Så vil u ende med at have x antal
funktioner der hedder det samme men sender forskellige querystrings til
browseren, og det går jo ikke. Brug istedet parametre til din funktion
således:
<script LANGUAGE="JavaScript">
function se_profil(bruger){
{
window.open('lille_profil.asp?brugernavn=bruger','newwindow','width=260,height=285,resizable=1,status=0,left=300,top=200,menubar=0,scrollbars=0,toolbar=0,location=0,directories=0');
}
}
</SCRIPT>
<%
do until rs.eof
%>
<td valign="top" class="lille">
<A
HREF=Javascript:se_profil('<%=rs("brugerNavn")%>')><%=rs("brugerNavn")%></A>
</td>
</tr>
<%
rs.MoveNext
loop
%>
Det skulle kunne gøre tricket
| |
Jakob Munck (02-09-2001)
| Kommentar Fra : Jakob Munck |
Dato : 02-09-01 18:46 |
|
Mange tak for koden. Den er nok en stor forbedring af min kode, men den
virker stadig ikke, da den - uanset hvilken af de viste brugere man klikker
på - sender variablen "bruger" med over i querystrengen, og dermed kan
pop-up vinduet ikke finde ud af hvilken bruger det skal vise.
I stedet har jeg derfor prøvet at udskifte ordet "bruger" i den linie med
++++ med variablen "<%=rs("brugerNavn")%>", men så var jeg tilbage til det
gamle problem, at den hele tiden viser den øverste record i recordsættet,
altså den samme person, uanset hvor jeg klikker.
Der er altså stadig en fejl, og jeg vil blive meget glad hvis du (eller
andre) kan finde den. Selv er jeg, som det forstås, temmelig uduelig til
Javascript.
v.h.
Jakob Munck
"Lars Hoffmann" <lars@hoffmann.ac> skrev i en meddelelse
news:3B9257D4.B27561D4@hoffmann.ac...
> Jakob Munck wrote:
> >
> > Efter at have knoklet i lang tid er det lykkedes mig at lave et lave
noget
> > kode, der gør at når man klikker på et link, åbnes der et popup vindue
og
> > til dette sendes der en querystring med variable, der gør at man i dette
> > vindue kan vise en brugers indtastede oplysninger. Det hele fungerer,
> > undtagen det, at man åbenbart ikke kan loope med et Javascript.
>
> Du prøver på intet tidspunkt at loope med javascriptet. Du looper med
> ASp koden.
>
> > Altså: Hvordan får jeg variablen i linien med ++++ til at "loope"
ligesom
> > den samme variabel gør, når den er en del af et link?
>
> Det ønsker du jo ikke at gøre. Så vil u ende med at have x antal
> funktioner der hedder det samme men sender forskellige querystrings til
> browseren, og det går jo ikke. Brug istedet parametre til din funktion
> således:
>
>
>
> <script LANGUAGE="JavaScript">
> function se_profil(bruger){
> {
>
window.open('lille_profil.asp?++++brugernavn=bruger','newwindow','width=260,
height=285,resizable=1,status=0,left=300,top=200,menubar=0,scrollbars=0,tool
bar=0,location=0,directories=0');
> }
> }
> </SCRIPT>
>
>
>
> <%
> do until rs.eof
> %>
>
> <td valign="top" class="lille">
>
> <A
>
HREF=Javascript:se_profil('<%=rs("brugerNavn")%>')><%=rs("brugerNavn")%></A>
>
> </td>
> </tr>
>
> <%
> rs.MoveNext
> loop
> %>
>
> Det skulle kunne gøre tricket
| |
Lars Hoffmann (02-09-2001)
| Kommentar Fra : Lars Hoffmann |
Dato : 02-09-01 19:13 |
|
Jakob Munck wrote:
>
> Mange tak for koden. Den er nok en stor forbedring af min kode, men den
> virker stadig ikke, da den - uanset hvilken af de viste brugere man klikker
> på - sender variablen "bruger" med over i querystrengen, og dermed kan
> pop-up vinduet ikke finde ud af hvilken bruger det skal vise.
> I stedet har jeg derfor prøvet at udskifte ordet "bruger" i den linie med
> ++++ med variablen "<%=rs("brugerNavn")%>", men så var jeg tilbage til det
> gamle problem, at den hele tiden viser den øverste record i recordsættet,
> altså den samme person, uanset hvor jeg klikker.
Hold alt hvad der hedder <%=brugernavn%> langt væk fra din javascript
funktionen. Ellers vil den ikke være generisk og altså kun fungere med
en enkelt bruger.
husk også at selve funktionen IKKE skal ligge inde i din loop. Du skal
jo kun udskrive funktionen en enkelt gang.
Jeg har lige rettet det til så det virker , din javascript funktion
bør se således ud:
<script LANGUAGE="JavaScript">
function se_profil(bruger)
{
window.open('lille_profil.asp?brugernavn='+bruger,'newwindow','width=260,height=285,resizable=1,status=0,left=300,top=200,menubar=0,scrollbars=0,toolbar=0,location=0,directories=0');
}
</SCRIPT>
| |
Jakob Munck (02-09-2001)
| Kommentar Fra : Jakob Munck |
Dato : 02-09-01 20:38 |
|
Så kører den !!!!!
Juhuuu....
Tusind tak - endnu en gang - til dig Lars Hofmann og de bedste hilsner fra
Jakob Munck
| |
|
|