[asp] Onthoud gegevens formulier na submitten *

Pagina: 1
Acties:
  • 89 views sinds 30-01-2008

  • Batsies
  • Registratie: Mei 2002
  • Laatst online: 27-01-2022

Batsies

E-Developing

Topicstarter
Ik heb een hele tijd lopen zoeken op het forum betreft dit onderwerp, maar ben nog niet het juiste antwoord tegengekomen wat ik zoek. Ik ben met het volgende bezig:

Heb een formulier waar je naam, adres etc. kan invullen. Een paar van deze velden zijn verplicht. Daarom zit er ook een controle in of deze verplichte velden zijn ingevuld. Deze controle gebeurt zodra je op submit klikt. Verplichte velden die niet zijn ingevuld, worden dan onderaan het formulier weergegeven. Toen kreeg ik het probleem dat je weer alles opnieuw moet invullen. Dit heb ik opgelost d.m.v. deze regel uit een andere topic:

value="<%=request.form("voornaam")%>"

Nou zit ik met het probleem dat ik ook dropdown menu's in m'n formulier heb en dat je daaruit ook je keuze weer opnieuw moet maken. Met de bovenstaande regel werkt het niet. Heeft iemand een andere oplossing. Of is er niet gewoon een simpel javascriptje die zorgt dat het hele formulier de ingevulde EN geselecteerde gegevens onthoud?

Alvast bedankt.

P.S. aub geen reacties met history_goback, want ik verwijs niet naar een andere pagina. Deze procedure dient op dezelfde pagina te gebeuren.

E-Developing


Verwijderd

kun je niet gewoon doen if(formvalue = deze) response.write "Selected" :?

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

ASP neem ik aan :?
zet dat er voortaan even bij in de topictitel

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • bramseltje
  • Registratie: September 2001
  • Laatst online: 23-07 23:59
Hmm, misschien kun je de check ook in je pagina uitvoeren, voordat je deze submit. Met behulp van javascript is dit goed te doen.

dus onder andere een check of de velden leeg zijn, en eventueel een check of de inhoud geldig is.
Bijvoorbeeld met:
HTML:
1
<form name="lalala" onsumbit="return CheckForm()" onreset="return confirm("Weet je het zeker?">

enzovoort

Verwijderd

Bramseltje schreef op 13 March 2003 @ 19:35:
Hmm, misschien kun je de check ook in je pagina uitvoeren, voordat je deze submit. Met behulp van javascript is dit goed te doen.

dus onder andere een check of de velden leeg zijn, en eventueel een check of de inhoud geldig is.
Bijvoorbeeld met:
HTML:
1
<form name="lalala" onsumbit="return CheckForm()" onreset="return confirm("Weet je het zeker?">

enzovoort
Een voordeel van het chekken met javascript ipv in ASP is dat je dan de checks clientside uitvoert. Dat scheelt weer werk op je server.

uit mijn hoofd kan je de data uit je form halen met:
document.form.field.value

  • Capa
  • Registratie: November 2002
  • Laatst online: 19-08 09:21
gewoon sessie variabelen maken, en nadat alles goed is gegaan die weer leeg maken
ASP:
1
Session("Voornaam") = request.form("voornaam")

  • pistole
  • Registratie: Juli 2000
  • Laatst online: 12:01

pistole

Frutter

Sauron-XP schreef op 14 March 2003 @ 00:07:
gewoon sessie variabelen maken, en nadat alles goed is gegaan die weer leeg maken
ASP:
1
Session("Voornaam") = request.form("voornaam")
ff lezen, het probleem zit in de select input.
Beste oplossing is idd client-side validatie, en natuurlijk gecombineerd met server-side. Zoals al eerder vermeld is het het makkelijkst om met if .. then .write "selected" te werken, maar het is misschien fraaier om dmv javascript de selectedIndex van die selectbox opnieuw in te stellen ('t is maar een voorbeeld).

Dus: gewoon even gaan priegelen en kijken wat voor jou het beste werkt.

Ik frut, dus ik epibreer


  • Capa
  • Registratie: November 2002
  • Laatst online: 19-08 09:21
hoezo lees ik niet....
als je een check doet met een if then statement, en je zet die waarden die wel ingevuld zijn in een sessie variabelen, dan kan je die weer uitschrijven in de forms...

  • pistole
  • Registratie: Juli 2000
  • Laatst online: 12:01

pistole

Frutter

mjah okee, kan ook voor je select gelden. Maar ja, fraai is anders vind ik

Ik frut, dus ik epibreer


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 22-08 21:53
Heel simpel, als je maar logisch nadenkt.
Stel je hebt drie keuzes in je dropdown menu's:
HTML:
1
2
3
4
5
<select name=select>
  <option value=1 <%=selected1%>>
  <option value=2 <%=selected2%>>
  <option value=3 <%=selected3%>>
</select>


Dan zet je bovenaan je pagina:
ASP:
1
2
3
4
5
6
7
8
9
10
11
 selected1 = ""
 selected2 = ""
 selected3 = ""
  SELECT CASE Request.Form("select")
    CASE "1"
      selected1 = "selected"
    CASE "2"
      selected2 = "selected"
    CASE "3"
      selected3 = "selected"
  END SELECT


Het kan ook op andere manieren, maar ik ben brak en dit is wat me nu te binnen schiet...

Roomba E5 te koop


  • syllaz
  • Registratie: Mei 2002
  • Laatst online: 20-04 17:01
zoiets als dit?

code:
1
<select name="dropdown" onChange="jouwpagina.asp?var=this.options[this.selectedIndex].value">

  • bramseltje
  • Registratie: September 2001
  • Laatst online: 23-07 23:59
@ sig69:

HTML:
1
2
3
4
5
6
<select name="naam">
    <option value="1" <% If Request.Form("naam") = 1 Then_
         Response.write "Selected">een</option>
    <option value="2" <% If Request.Form("naam") = 2 Then_
         Response.write "Selected">twee</option>
</select>

edit:

Het 2tje hier boven moet wel een 2tje, en niet een 1tje zijn |:( ;)

Zoiets misschien? Je hoeft die check niet in een aparte page te doen, als je het zo doet is het volgens mij al genoeg...

En waarom zou je iets wat je clientside op kan lossen server side oplossen? Is extra traffic, extra processor tijd. Je moet eigenlijk net zoveel aan je server toe delen als je zelf graag zou doen, nooit meer dan nodig })

Javascript formulier uitlezen gaat inderdaad als volgt:
(als de naam van je form "form" is)
Java:
1
2
3
4
strValue = document.form.naam_element.value;
//Waarde in element
iKeuze = document.form.naam_element.SelectedIndex;
//welke optie er gekozen is

[ Voor 14% gewijzigd door bramseltje op 14-03-2003 00:59 ]


  • Batsies
  • Registratie: Mei 2002
  • Laatst online: 27-01-2022

Batsies

E-Developing

Topicstarter
Ok, bedankt iedereen voor jullie verschillende soorten oplossingen. Ik heb een combinatie van jullie oplossingen gebruikt om m'n probleem te verhelpen. :)

E-Developing


Verwijderd

Batsies schreef op 13 maart 2003 @ 16:46:
Ik heb een hele tijd lopen zoeken op het forum betreft dit onderwerp, maar ben nog niet het juiste antwoord tegengekomen wat ik zoek. Ik ben met het volgende bezig:

Heb een formulier waar je naam, adres etc. kan invullen. Een paar van deze velden zijn verplicht. Daarom zit er ook een controle in of deze verplichte velden zijn ingevuld. Deze controle gebeurt zodra je op submit klikt. Verplichte velden die niet zijn ingevuld, worden dan onderaan het formulier weergegeven. Toen kreeg ik het probleem dat je weer alles opnieuw moet invullen. Dit heb ik opgelost d.m.v. deze regel uit een andere topic:

value="<%=request.form("voornaam")%>"

Nou zit ik met het probleem dat ik ook dropdown menu's in m'n formulier heb en dat je daaruit ook je keuze weer opnieuw moet maken. Met de bovenstaande regel werkt het niet. Heeft iemand een andere oplossing. Of is er niet gewoon een simpel javascriptje die zorgt dat het hele formulier de ingevulde EN geselecteerde gegevens onthoud?

Alvast bedankt.

P.S. aub geen reacties met history_goback, want ik verwijs niet naar een andere pagina. Deze procedure dient op dezelfde pagina te gebeuren.
Bij die dropdown:

Gewoon een regeltje er in zetten, bovenaan al je opties:
ASP:
1
2
3
4
5
6
7
8
9
10
11
<select size="1" name="D1">

<%
If request.form("dropdown_data") <> "" then
  response.write("<option name=""dropdown_data"" selected>" & request.form("dropdown_data") & "</option>")
end if
%>

<option name="dropdown_data">Je andere data hier</option>

</select>

[ Voor 9% gewijzigd door Verwijderd op 14-03-2003 10:42 ]


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 22-08 21:53
Bramseltje schreef op 14 maart 2003 @ 00:57:
@ sig69:

HTML:
1
2
3
4
5
6
<select name="naam">
    <option value="1" <% If Request.Form("naam") = 1 Then_
         Response.write "Selected">een</option>
    <option value="2" <% If Request.Form("naam") = 2 Then_
         Response.write "Selected">twee</option>
</select>


Zoiets misschien? Je hoeft die check niet in een aparte page te doen, als je het zo doet is het volgens mij al genoeg...
Klopt, maar ik dacht ik hou het simpel en overzichtelijk

Roomba E5 te koop


  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

P.S. aub geen reacties met history_goback, want ik verwijs niet naar een andere pagina. Deze procedure dient op dezelfde pagina te gebeuren.
Je kan toch ook gewoon een hidden form-element toevoegen waarmee je in je script kan controleren of de form gesubmit wordt of juist wordt weergegeven?? i.e.
ASP:
1
2
3
4
5
6
7
If Request.Form("submit_form") = "true" Then
' code voor het verwerken van het formulier

Else
'HTML voor het weergeven van het formulier

End If


Met betrekking tot de problemen met je keuzelijst kan je ook gewoon controleren of er een waarde in de form collectie aanwezig is. Ik ga ervanuit dat de eerste keuze een beschrijving is van wat voor keuze de gebruiker kan maken dus zoiets van:
<option value="">Selecteer de gewenste keuze----></option>

ASP:
1
2
3
4
5
6
7
If NOT Request.Form("keuzelijst") = "" Then

Response.Write "<option value=""" & Request.Form("keuzelijst") & """></option>"

Else
Response.Write "<option  value="""">Selecteer de gewenste keuze</option>"
End If

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


  • Batsies
  • Registratie: Mei 2002
  • Laatst online: 27-01-2022

Batsies

E-Developing

Topicstarter
quote van Digidude:
Bij die dropdown:

Gewoon een regeltje er in zetten, bovenaan al je opties:
ASP:

<select size="1" name="D1">

<%
If request.form("dropdown_data") <> "" then
response.write("<option name=""dropdown_data"" selected>" & request.form("dropdown_data") & "</option>")
end if
%>

<option name="dropdown_data">Je andere data hier</option>

</select>
Heb dit omgezet naar m'n dropdown menu, op de volgende manier:

<select name="geslacht" class="form">

<%
If request.form("geslacht") <> "" then
response.write("<option name=""geslacht"" selected>" & request.form("geslacht") & "</option>")
end if
%>
<option name="geslacht">Selecteer geslacht</option>
<option value="man">man</option>
<option value="vrouw">vrouw</option>

</select>

Het resulteert alleen net niet in hoe ik het wil; ik krijg vervolgens bovenaan nog een keer "man" (of "vrouw") in m'n dropdown menu te zien. :?

Iemand suggestie wat ik moet aanpassen?

E-Developing


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 22-08 21:53
Batsies schreef op 14 March 2003 @ 14:06:
Het resulteert alleen net niet in hoe ik het wil; ik krijg vervolgens bovenaan nog een keer "man" (of "vrouw") in m'n dropdown menu te zien. :?

Iemand suggestie wat ik moet aanpassen?
Dat is ook niet gek, deze code plaatst de select optie die geselecteerd was NOGMAALS bovenaan. Ik zou voor mijn optie gaan als je niet met javascript wilt werken en anders de javascript variant gebruiken.

Roomba E5 te koop


Verwijderd

Is er een optie in PHP/HTML mogelijk voor het probleem dat Batsie bovenaan noemt.

Ik heb namelijk de volgende code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<form method="GET" action="<?=$_SERVER["PHP_SELF"]?>">
<select name="sortering">
<option value="alfa">type</option>
<option value="lidnr">lidnummer</option>
<option value="bouwjaar">bouwjaar</option>
<option value="nickname">nickname</option>
<option value="kleur">kleur</option>
</select>
<select name="volgorde">
<option value="ASC" selected>oplopend</option>
<option value="DESC">aflopend</option>
</select>
<input type=submit name="button" value="Sorteer">
</form>

Op het moment dat ik submit gaat de waarde van [b]sortering[b] al weer naar de default waarde...
Hoe hou ik dit vast zodat ik bij het selecteren van aflopend niet opnieuw bouwjaar op hoef te zoeken :?

  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Op het moment dat ik submit gaat de waarde van sortering al weer naar de default waarde...
Hoe hou ik dit vast zodat ik bij het selecteren van aflopend niet opnieuw bouwjaar op hoef te zoeken
Ik begrijp eerlijk gezegd niet helemaal wat je nou bedoeld en wat je nou precies wilt :?

Hoe bedoel je wanneer je submit dat de waarde van sortering naar default gaat?
Het eigenlijke sorteren gaat wel goed maar vervolgens wordt er in je dropdown niet aangegeven dat er op dat moment op bv lidnr is gesorteerd?
In dit geval kan je toch gewoon met een conditional statements controleren wat de waarde van je form-element "sortering" is en deze waarde vervolgens als eerste option in je dropdown plaatsen :)

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 23 May 2003 @ 20:53:
Op het moment dat ik submit gaat de waarde van [b]sortering[b] al weer naar de default waarde...
Hoe hou ik dit vast zodat ik bij het selecteren van aflopend niet opnieuw bouwjaar op hoef te zoeken :?
Je kan toch wel een if-statement hanteren om op deze wijze een optie geselecteerd te maken? :?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 10:17
Waarom schop jij een ASP topic omhoog met een PHP vraag?

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.