[ASP] Posten zonder button?

Pagina: 1
Acties:

  • MIster X
  • Registratie: November 2001
  • Laatst online: 01-01 23:41
Na login.asp wil ik een soort van load.asp maken met allemaal 'hidden' inputvelden. Hoe kan ik deze waarden doorgeven aan het volgende formulier (bijv. opleiding.asp) zonder op een button te hoeven drukken. Met 'redirect' raak ik de informatie kwijt. Querystring? Met Session kan ik ook iets 'onthouden', maar dan moeten cookies aan staan.

Is het trouwens mogelijk eventueel de submit-button in ander frame te plaatsen?

(Heb een beetje het gevoel dat ik een stomme vraag stel. Zie ik iets over het hoofd? Wist ook niet goed waar ik op moest zoeken: navigate, post, bla, bla...)

  • AceRimmer
  • Registratie: Maart 2001
  • Laatst online: 19:04

AceRimmer

What a guy...

Submitten moet client sided gebeuren, dus neem in de body tag een javascriptje op die het form submit:

<body onload="frmMain.Submit();">

waarbij frmMain de naam is van het form:

<form name="frmMain" action="een.asp" method="POST">

Smoke me a kipper, I'll be back for breakfast


  • MIster X
  • Registratie: November 2001
  • Laatst online: 01-01 23:41
Mmm, bedankt. Maar dan krijg ik de melding 'Deze eigenschap of methode wordt niet ondersteund door dit object' met een verwijzing naar de body-tag.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
...
<body onload="records.submit();">
<form name="records" method="POST" action="cv_persoon.asp">
<%
    Dim cmd
    Dim rs

    set cmd=Server.CreateObject("ADODB.Command")
    cmd.activeconnection=Application("DataConn")

    set rs=server.CreateObject("ADODB.Recordset")

    cmd.CommandText="SELECT * FROM [tblCVPersoonsgegevens] WHERE Gebruikersnaam='"&Session("USER")&"'"
    rs.open cmd
%>
<INPUT type=hidden name="Gebruikersnaam" value= <%=Session("USER")%>>
<INPUT type=hidden name="Naam" value="<%=rs("Naam")%>">
<INPUT type=hidden name="Voorletters" value="<%=rs("Voorletters")%>">
<input type="submit" name="submit" value="submit">
</form>
<%
    rs.Close
    Set rs = Nothing
    Set cmd = Nothing
%>
</body>
...

Wat doe ik fout? Verkeerde volgorde misschien?

  • purge
  • Registratie: November 2000
  • Niet online
Verander de laatste input-tag eens in:
code:
1
<input type="submit" value="submit">

Ook is het aan te bevelen om in de input-tag van gebruikersnaam bij value ook " te gebruiken.

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

het zou kunnen dat bij "onload" je form nog niet volledig bestaat. (valt me op dat onload wel is wordt aangeroepen op het moment dat je pagina begint, niet als ie klaar is met laden) in dat geval...probeer is onder aan je pagina die script instructie in een script block te zetten.

(oh en, document.forms.records.submit() or document.getElementById("records").submit())

  • KoeKk
  • Registratie: September 2000
  • Laatst online: 14-09 19:20
Op maandag 24 december 2001 11:25 schreef Zoijar het volgende:
het zou kunnen dat bij "onload" je form nog niet volledig bestaat. (valt me op dat onload wel is wordt aangeroepen op het moment dat je pagina begint, niet als ie klaar is met laden)
<body onLoad="doFunkyJS(now)">

wordt toch altijd pas uitgevoerd als de hele pagina is geladen? tenminste als ik mijn server's bandbreedte begrenst (afknijp) tot 0.1 k/s dan wordt toch echt eerst de pagina geladen en daarna krijg ik pas de javascipt error.

Aangezien ik een n00b qua JS ben krijg ik nogal vaak van die errors en altijd pas als de pagina geladen is...

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

ja dat is wel de bedoeling, maar toch is het bij mij wel is fout gegaan... vandaar. Misschien dat ik toen wel iets vaags deed, ik heb toch een hekel aan js, werkt eigenlijk nooit overal zoals je wilt.

  • MIster X
  • Registratie: November 2001
  • Laatst online: 01-01 23:41
tx for the reacties... Ben eruit. Onload in de body-tag werkt prima, form wordt geladen voor de onload-actie. Wel moet ik met de onload een functie aanroepen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
...
<script>
function Verzend()
{
    document.forms.records.method="POST";
    document.forms.records.action="blabla.asp";
    document.forms.records.submit();
}
</script>
</head>
<body onload="Verzend();">
...

Verwijderd

Op maandag 24 december 2001 11:50 schreef mix het volgende:
tx for the reacties... Ben eruit. Onload in de body-tag werkt prima, form wordt geladen voor de onload-actie. Wel moet ik met de onload een functie aanroepen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
...
<script>
function Verzend()
{
    document.forms.records.method="POST";
    document.forms.records.action="blabla.asp";
    document.forms.records.submit();
}
</script>
</head>
<body onload="Verzend();">
...
Simpelweg een form maken, en daaronder dit :

<script language="JavaScript">document.formname.submit();</script>

werkt ook.

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Op maandag 24 december 2001 11:25 schreef Zoijar het volgende:
in dat geval...probeer is onder aan je pagina die script instructie in een script block te zetten.
hehe 8-)

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Mag ik vragen waarom je dit nodig hebt? Waarom zou je in godsnaam serverside clientcode gaan genereren, die submitten en dan serverside weer afhandelen?

Edit, sorry had laatste stukje over het hoofdgezien, maar dan nog is het niet nodig, ja dat cookies wel aan staan is wel zo handig, maar mensen die hun cookies niet aan hebben staan moeten gewoon niet zeuren als het niet werk.
Pagina: 1