Toon posts:

[ASP + VB-Script]controleren of txtvak ingevuld is

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

Verwijderd

Topicstarter
het is voor mij een hele tijd geleden dat ik met asp gewerkt heb, en vandaag wou ik het nog eens oprakelen.

wat is mijn probleem:

ik heb een form (frmgebruikersregistratie)
met daarin het textvak Naam (txtnaam)
en een button (cmdverzenden)

de form verwijst naar de pagina "verwerk.asp"

op de pagina verwerk.asp check ik aan de hand van vbscript of het textvak naam ingevuld is:


code:
1
2
3
4
5
sub cmdverzenden_OnClick
if frmgebruikersregistratie.txtnaam.value = "" then
  <% response.redirect("index.asp?error=u moet een naam invullen") %>
end if
end sub


nu wordt er naar index.asp gelinked, ook als het textvak ingevuld is.
kan iemand zeggen wat ik moet gebruiken van code?

Thx in advance

[ Voor 5% gewijzigd door Verwijderd op 22-06-2003 23:48 ]


Verwijderd

frmgebruikersregistratie.txtnaam.value
moet je eens dit van maken:
frmgebruikersregistratie.txtnaam.text

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Ik ben niet echt erg bekend met asp maar weet wel dat alle asp code tussen <% en %> moet staan. En aangezien je pas net voor die response opent wordt de rest gewoon geoutput naar de client en niet geparsed op de server (server-side vb-script dus). Wat er dus gebeurt is dat alleen die regel wordt uitgevoerd. En dat is die redirect. Variabelen die gepost zijn, zijn overigens bereikbaar via Request.Form("var") en die verzonden zijn via de get methode zijn bereikbaar met Reqeust.Querystring("var") als ik het niet mis heb. Wat mij logisch lijkt dus is iets als dit:

ASP:
1
2
3
4
5
<%
If Request.Form("frmgebruikersregistratie") = "" Then
    Response.Redirect("index.asp?error=text")
End If
%>


Ik hoop dat je er zo een beetje uitkomt.

[ Voor 6% gewijzigd door Michali op 23-06-2003 00:03 ]

Noushka's Magnificent Dream | Unity


Verwijderd

even reactie op michali: het is vb+asp
wat er tussen de <% en de %> tags staan is ASP, de rest is VB.. (neem ik aan)

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Verwijderd schreef op 23 June 2003 @ 00:02:
even reactie op michali: het is vb+asp
wat er tussen de <% en de %> tags staan is ASP, de rest is VB.. (neem ik aan)
ASP is toch geen taal op zich zelf? Je kan ook JScript gebruiken wat je dan ook tussen <% en %> zet. Het enige verschil is dan of het server side of client side uitgevoerd word. (en nog wat verschillen natuurlijk maar het blijft wel vbscript, alleen de andere implementatie aangepast op ASP)
Verwijderd schreef op 22 June 2003 @ 23:45:
nu wordt er naar index.asp gelinked, ook als het textvak ingevuld is.
Het probleem is nu zoals ik zei dat alleen de redirect regel server side wordt uitgevoerd en de rest pas client side. Maar client side wordt nooit uitgevoerd omdat je redirect naar index.asp. Of zie ik het probleem nu verkeerd :?

[ Voor 43% gewijzigd door Michali op 23-06-2003 00:09 ]

Noushka's Magnificent Dream | Unity


Verwijderd

Topicstarter
Verwijderd schreef op 23 June 2003 @ 00:00:
frmgebruikersregistratie.txtnaam.value
moet je eens dit van maken:
frmgebruikersregistratie.txtnaam.text
bedankt, dat was het, srry for the n00bish question

Verwijderd

Wat ben je nu aan het doen? visual basic & vb script door elkaar.
maak het verhaal een wat duidelijker want hier kan niemand wat mee.

Verwijderd

Topicstarter
hmmm, blijkbaar lukt het toch niet wat fragmentation me zei:

code:
1
2
3
4
5
sub cmdverzenden_OnClick
if frmgebruikersregistratie.txtvoornaam.text = "" then
  <% response.redirect("index.asp?error=u moet een voornaam invullen") %>
end if
end sub


geeft nog steeds: u moet een voornaam invullen als ik submit, mits een voornaam ingevuld te hebben

de bedoeling is dat er gecontroleerd wordt of de tekstvakken zijn ingevuld

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

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 23 June 2003 @ 00:12:
hmmm, blijkbaar lukt het toch niet wat fragmentation me zei:

code:
1
2
3
4
5
sub cmdverzenden_OnClick
if frmgebruikersregistratie.txtvoornaam.text = "" then
  <% response.redirect("index.asp?error=u moet een voornaam invullen") %>
end if
end sub


geeft nog steeds: u moet een voornaam invullen als ik submit, mits een voornaam ingevuld te hebben

de bedoeling is dat er gecontroleerd wordt of de tekstvakken zijn ingevuld
Michali schreef op 23 June 2003 @ 00:04:
Het probleem is nu zoals ik zei dat alleen de redirect regel server side wordt uitgevoerd en de rest pas client side. Maar client side wordt nooit uitgevoerd omdat je redirect naar index.asp. Of zie ik het probleem nu verkeerd :?
Anders geformuleerd.. Je bent dus clientside en serverside aan het mixen en dat kan niet. Eerst serverside oplossen, dan pas clientside.

Of je moet een clientside redirect bouwen, document.location oid (da's voor de buren), maar dan los je het niet op met asp. Zoek maar anders ff met Google, icm VBScript / Javascript, moet wel eea te vinden zijn.

En waarom wil je een redirect trouwens doen? :?

ASP:
1
2
3
If Request.Form("melp") = "" Then
   Response.Write "Melp niet ingevuld"
End if

[ Voor 24% gewijzigd door gorgi_19 op 23-06-2003 00:17 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Michali schreef op 23 June 2003 @ 00:01:
Ik ben niet echt erg bekend met asp maar weet wel dat alle asp code tussen <% en %> moet staan. En aangezien je pas net voor die response opent wordt de rest gewoon geoutput naar de client en niet geparsed op de server (server-side vb-script dus). Wat er dus gebeurt is dat alleen die regel wordt uitgevoerd. En dat is die redirect. Variabelen die gepost zijn, zijn overigens bereikbaar via Request.Form("var") en die verzonden zijn via de get methode zijn bereikbaar met Reqeust.Querystring("var") als ik het niet mis heb. Wat mij logisch lijkt dus is iets als dit:

ASP:
1
2
3
4
5
<%
If Request.Form("frmgebruikersregistratie") = "" Then
    Response.Redirect("index.asp?error=text")
End If
%>


Ik hoop dat je er zo een beetje uitkomt.
als ik naar jouw code kijk, met alle respect, een form, hier frmgebruikersregistratie kan uit meerdere verlden bestaan, dus zie ik hier niet echt een oplossing is gezien je zogezegd controleert of je form leeg is :?

Verwijderd

Topicstarter
gorgi_19 schreef op 23 June 2003 @ 00:14:
[...]


[...]

Anders geformuleerd.. Je bent dus clientside en serverside aan het mixen en dat kan niet. Eerst serverside oplossen, dan pas clientside.

Of je moet een clientside redirect bouwen, document.location oid (da's voor de buren), maar dan los je het niet op met asp.
hoe zou jij het dan oplossen???
ik heb er namelijk niet echt een idee van

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

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 23 June 2003 @ 00:17:
[...]


hoe zou jij het dan oplossen???
ik heb er namelijk niet echt een idee van
Zie m'n edit

Gewoon de textbox serverside controleren, evt icm een flag voor valid of niet.
Dus
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
Dim blnIsValid
blnIsValid = True

If Request.Form("melp") = "" Then
    Response.Write "melp is empty"
    blnIsValid = False
End if

...
If blnIsValid Then
    ' Geen idee wat je wil, updaten van een db bijvoorbeeld.
End

[ Voor 53% gewijzigd door gorgi_19 op 23-06-2003 00:20 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Dit gaat nergens meer over, we zijn hier ondertussen je code aan het schrijven voor je. Koop aub een goed boek over ASP en zoek de verschillen tussen client- en serverside code eens goed uit. We hebben in de P&W FAQ diverse helppages voor ASP staan waar je dit soort problemen goed mee kunt oplossen.

Hier dus: P&W FAQ - ASP

[ Voor 11% gewijzigd door curry684 op 23-06-2003 00:21 ]

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.