View Full Version : Obligatoriskafält
Hej
En liten fråga hur gör man obligatoriska fält
i ett formulär i asp?
MVH mhedda
du får använda dig av en villkorsats typ;
<%
If Request.Form("obligatoriskt_felt")_
= "" Then
Response.Write ="Det obligatoriska fätet"
Response.Write ="är obligatoriskt."
Response.Write ="<form method='post' action='dennafil.asp'>"
Response.Write ="<input type='text' name='obligatorisk_felt'>"
Response.Write ="<input type='submit' value='Skicka'>"
Response.Write ="</form>"
Else
End If
%>
Hoppas det hjälper dig...
Det finns tre sätt som man bör göra i min mening.
1: Gör en felkontroll i Javascript.
2: Gör en felkontroll med ASP.
3: Gör så att fälten i databasen inte för var a Null.
/N
------------------
Daniel Olsson - Webbutvecklare
Personlig sida (http://www.nanne.net)
KjAM Sekten Community (http://www.kjamsekten.nu)
/N
emission
2000-03-16, 12:55
Det tredje alternativet bör man alltid göra, men utan något av de andra två blir det inte särskilt "clean", utan ger bara felmeddelanden från servern.
Jag tycker att man bör använda sig utav alla tre. Först att Javascriptet talar om direkt om man skrivit fel. Använder man en gammal eller stängt av javascript så har man ett ASP script som kollar.
------------------
Daniel Olsson - Webbutvecklare
Personlig sida (http://www.nanne.net)
KjAM Sekten Community (http://www.kjamsekten.nu)
/N
jag tycker att man skall koda så att man aldrig behöver använda sig av alternativ tre...
------------------
MVH / Vide
Min hemsida:webeye.nu (http://www.webeye.nu)
emission
2000-03-16, 16:51
Om värdet inte får vara tomt så ska heller inte databasen tillåta det. Allt annat är dålig databasdesign, och man gör sig själv en otjänst om man inte lever efter dessa regler.
Tack för alla inlägg.
Men det formulär jag skall ha obligatoriska fält i är ett formail med sex obligatoriska fält alltså inte kopplat till någon databas. Hur gör jag då jag har försökt
med koden som jag fick av a men det funkar inte. Jag kanske har gjort något fel ska försöka klura vidare på den. Men om det finns något mer förslag på kod så tackar jag inte nej till den.
MVH mhedda
Hej!
Det jag tycker är det absolut bästa är att göra det i JavaScript, då gör du helt enkelt så här:
<script language="JavaScript">
function check()
{
if (document.myform.falt.value=="")
{ alert("You have to fill out all the fields before submitting.")
return false
}
else
{
return true
}
}
Sen har du ju bara ett forumulär tex:
<form method="POST" name="myform" onSubmit="return check()" action="send.asp">
<input type="Text" size="20" name="falt">
<input type="submit" value="Send">
</form>
Så borde det fungera, men eftersom du var ute efter ett ASP exempel som jag tycker är sämre eftersom den då måste ladda om sidan igen vilket är jobbigt osv. Men jag tycker a:s kod ser nästan helt korrekt ut, jag skriver en liknande här nedan, testa den om du vill:
a.asp
<form method="POST" name="myform" action="send.asp">
<input type="Text" size="20" name="falt">
<input type="submit" value="Send">
</form>
send.asp
<%
If Request.Form("falt") = "" Then
Response.Redirect "a.asp"
%>
Lycka till!
------------------
Mvh
Patrik
aka Brimba
www.datormaklarna.se (http://www.datormaklarna.se)
patrik@datormaklarna.se
[Redigerat av Brimba den 16 mar 2000]
Hej och tack så mycket Brimba.
Jag kör på javascriptet och det funkar.
Jag har inte jobbat med javascript så jag undrar bara när man vill ha flera obl.fält hur skriver man då? Lägger man in flera
if (document.myform.falt.value=="") isåfall hur då?
MVH mhedda
Hej! Kul att det fungerade!
Enklast när du vill ha flera fält är att skriva så här:
<script language="JavaScript">
function check()
{
if (document.myform.falt.value==""
| | document.myform.falt2.value=="")
{ alert("You have to fill out all the fields before submitting.")
return false
}
else
{
return true
}
| | betyder altså OR i JavaScripts sammanhang, sen en sak som jag stångade mig blodit till är om man vill att den inte skall vara uppfylld skriver du ett ! före tex:
<script language="JavaScript">
function check()
{
if (!document.myform.falt.value=="hej")
{ alert("You have to fill out all the fields before submitting.")
return false
}
else
{
return true
}
}
Det betyder att om dom INTE har skrivit "hej" i formulär fältet så kommer dom att få ett felmeddelande.
Bara ett tips :)
Ha det bra!
------------------
Mvh
Patrik
aka Brimba
www.datormaklarna.se (http://www.datormaklarna.se)
patrik@datormaklarna.se
Tackar Brimba
Det funkar jätte bra hade bara problem med
or tecknen det var ett mellanslag för mycket
men annars gick det bra, jag skriver or för jag hittar tamesjutton inte dom där strecken på tangentbordet.Och tack för extra tipset som kom med på köpet.
Jag bockar och bugar.
MVH mhedda
Hej!
Ursäkta för det extra mellanslaget vilket du även det fick extra på frågan :)
För att göra | | trycker du "alt GR" + "<>" tangenten altså den tangenten som sitter mellan bokstaven "Z" och shift.
Hoppas det går bra!
------------------
Mvh
Patrik
aka Brimba
www.datormaklarna.se (http://www.datormaklarna.se)
patrik@datormaklarna.se
Tack Brimba!
Man hade nog fått letat ett tag efter
| |
MVH mhedda
vBulletin® v3.8.6, Copyright ©2000-2013, Jelsoft Enterprises Ltd.