Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[ASP] variabele form action

Pagina: 1
Acties:

  • Adelbert
  • Registratie: Januari 2007
  • Laatst online: 27-01-2021
Hallo,

Ik ben bezig met het maken van een invulform waarbij er controle gedaan wordt op verplichte velden. Ik zou dit gewoon kunnen doen met JS die een melding geeft maar dan zie je een vieze witte achtergrond.

Ik wil graag dat bij het niet invullen van alle verplichte velden teruggegaan wordt naar het invul form.

Op deze manier:
ASP:
1
2
3
4
5
6
7
8
9
<form action="nieuwe_klant_i.asp" method="post" name="form1">

<%IF voornaam = "" OR achternaam = "" THEN%>

<input name="akkoord" type="hidden" value="nee">
<script language = "Javascript">
form1.submit()
</script>
<%else%>


Dit werkt allemaal goed maar als wel alle velden goed ingevuld zijn dan wil ik graag dat het form een andere action heeft.

Is het mogelijk om dat te doen met een if else ?

Ik zat te denken aan:
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<form action="<%formaction%>" method="post" name="form1">

<%if voornaam = "" or achternaam = "" then
formaction = terug.asp%>
<script language = "Javascript">
form1.submit()
</script>
<%else
formaction = verder.asp%>
<script language = "Javascript">
form1.submit()
</script>
<%end if%>


Hopelijk kunnen jullie mij wat verder helpen!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16-11 10:25

gorgi_19

Kruimeltjes zijn weer op :9

Je zit clientside met serverside te mixen. Als je aan de hand van een clientside validatie iets wilt uitvoeren, zal je ook met Javascript een form action moeten aanpassen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Adelbert
  • Registratie: Januari 2007
  • Laatst online: 27-01-2021
Ja oke, dat is geen probleem zolang ik die JS alert maar kan omzeilen.

  • Cascade
  • Registratie: Augustus 2006
  • Laatst online: 11-11 11:41
Ik zou om te beginnen even client-side met JavaScript controleren of de velden ingevuld zijn. Op de onsubmit van de form -> je blijft op de pagina, laat een alert zien en annuleert de submit.

Daarnaast... ook server-side in ASP de input controleren na een submit naar dezelfde formulierpagina. Bij lege velden kan je dan alleen een waarschuwing geven en gewoon je formulier laten zien, bij goede input kan je die verwerken (insert into database, je mailer aanslingeren etc) en daarna een Response.Redirect doen naar de volgende pagina.

Verwijderd

Wat Cascade zei :)

Je HTML doet dan bijvoorbeeld:

HTML:
1
2
3
4
5
<form method="get" action="simpleform.asp?Action=Go">
First Name: <input type="text" name="fname" /><br />
Last Name: <input type="text" name="lname" /><br /><br />
<input type="submit" value="Submit" />
</form>


En je server side script doet dan:

Visual Basic .NET:
1
2
3
4
5
<%
  if (len(request.form("fname")) > 0) or (len(request.form("lname")) > 0) then
    response.redirect ("simpleform.asp?Err=1")
  end if
%>


Dan schrijf je een foutafhandelings procedure die die error oppikt en nog wat code die iets met je form uitspookt.

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
<%
  if request.querysting("Err") = "1" then
    response.write ("Error: You must enter both first- and lastname")
  end if

  if UCase(request.querysting("Action")) = "GO" then
    Dim szFirstName, szLastName
    szFirstName = request.form("fname")
    szLastName = request.form ("lname")
    response.write ("Hello, " & szFirstName & szLastName)
  end if
%>


Let wel even op dat je het 2e blokje code in de pagina plaatst die wordt aangeroepen door je form, in dit voorbeeld dus simpleform.asp. Zoek anders eens op FORM en ASP en je vindt genoeg voorbeelden