Har en aspsida med ett formulär och ett antal fält av olika slag på.
När besökaren sedan fyller i allt och skickas till insertsidan så kollar koden att samtliga fält är korrekt ifylda, är allt ok så körs inserten och man länkas vidare.
Men skriver man något fel eller hoppar över något fält så skickas man tillbaka till formulärsidan och man får rätta till felen.
Nu till problemet:
För att man inte ska behöva skriva om samtliga fält igen så skapas det två session för varje fält, ett för texten, ett för vilket fält, typ:
Session("textfältet") = "massa text"
session("err_textfältet") = "X"
när man då skickats tillbaka så står det ett 'X' brevid det textfält som är fel, typ:
hajjar ni?, har man då ett tio-tal fält på sidan + att man har flera olika sidor så blir det en satans massa sessions!
Finns det något smartare sätt?
Nån som kan ge ett litet exempel på hur ni brukar göra, så blir ja gla!
Varför inte skriva ut lite text och sedan göra en länk?
If Request.Form("bla") = "" Then
Response.Write"Du måste fylla i bla<br>"
Response.Write"<a href=javascript:history.go(-1)>Tillbaka</a>"
Else
Insertkoden...
End If
Den enda nackdelen är att om du har ett fält av typen password(<input type="password"> ) så kommer detta fält att bli tomt när du klickar tillbaka, men det är väl inte så jobbigt att fylla i igen?
Annars kan du ju göra det med javascript också.
<html>
<head>
<title>Titel</title>
<script language="javascript">
function kollaform() {
var bla = document.form.bla.value;
if(bla.length == 0) {
alert("Du måste fylla i fältet bla!"); Return False;
}
}
</script>
</head>
<body>
<form name="form" method="post" action="sida.asp" onSubmit="return kollaform()">
Bla: <input type="text" name="bla"><br>
<input type="submit" value="Skicka">
</form>
/Mika3l
RED: Stavfel...
------------------
Det stora datatestet:
Ok, då börjar vi!
För att börja testet tryck alt+F4.
<%
if LenTrim(request.queryString("textfält1") > 0 then
%>
<td>X</td>
<%
else
%>
<td></td>
<%
end if
%>
<td><input type=text value="<%Request.queryString("textfält1")%>">
hmm, tack för svaren men ingen av dessa passar riktigt in.
på det första förslaget så tappar man ju all text om man råkar uppdatera sidan och det är inte bra.
på det andra får man en för lång querystring, den får väl var max 255 tecken om jag inte minns helt fel.
hur gör ni andra?
någon sorts errorhantering måste väl de flesta hålla på med, eller?
Javascript på klientsidan i kombination med kolla på serversidan är det bästa.
På server sidan kör jag ngt liknande detta, har utvecklat det lite mer, men eftersom denna kod fanns här och funkar rätt smärtfritt så lägger jag med den länken oxå http://cgi.webforum.nu/wf/Forum11/HTML/003302.html
Den postar formuläret till samma sida.
cya,
PatrikB
------------------
-=* IF there is a wrong way to do something, then someone will do it *=-
132 ms totalt · 3 externa anrop · v20260731065814-full.55e59744