webForumDet fria alternativet

Obligatoriska fält

ASP

7 svar · 522 visningar · startad av CrYpToNiC

Medlem sedan sep. 200056 inlägg
Frågan#1

Hur gör jag så att vissa fält i ett formulär blir obligatoriska ?

Jag har en gästbok där jag vill att namn och meddelande ska vara obligatoriska. Sedan om man inte har fyllt i dessa fält så ska man komma tillbaka till samma sida fast det står röd text där det står typ "Du har glömt att fylla i *nått*"

Har gästboken i en access 2000 databas.

------------------
/CrYpToNiC

Medlem sedan sep. 200056 inlägg
#2

Måste tillägga att jag har ställt dessa fält på obligatoriska i databasen så som det är nu, så det kommer nått fel om man inte har fyllt i dom. Vill alltså fixa ett eget felmeddelande.

------------------
/CrYpToNiC

Medlem sedan dec. 19995 874 inlägg
#3

du kan ju alltid kolla längden på dina obligatoriska fält.. exempelvis.

If len(request.form("woo")) <= 0 Then
response.write "Du skrev för lite.."
End If

------------------
Mvh
Patrik aka Brimba
Hur hittar pillret fram till det onda?

Medlem sedan juni 2000690 inlägg
#4

Eller så kan du lägga in lite javascript som kollar det direkt på sidan typ såhär:

<SCRIPT LANGUAGE="JavaScript">

	
	var fieldnames = new Array (2)
	fieldnames[0] = "Namn"
	fieldnames[1] = "Meddelande"

	
	
function validation(form) {

	var onoff=0
	var alertboxnames = ""

	var fields = new Array (2)
	fields[0] = form.NAME.value.length
	fields[1] = form.MESSAGE.value.length

	

	for (var i=0; i < fields.length; i++) {
	
        if (fields[i] == 0) {
    	
    	alertboxnames = alertboxnames + fieldnames[i] + ", ";
        
        onoff ++;
		}              
 
	}

	if (onoff == 0) {
	
		return true
		
	} else {
	
		if (onoff == 1) {
		
			var catness = alertboxnames.substring (0, alertboxnames.indexOf(","));
		
			alert ("Följande fält krävs: \r \r" + catness + "\r \rFyll i fältet och försök igen!");

			} else {
			
			var catness = alertboxnames.substring (0, alertboxnames.length-2)
				
	        alert ("Följande fält krävs: \r \r" + catness + "\r \rFyll i fälten och försök igen!"); 

			}
		
		return false
		
	}

}

</SCRIPT>

Och i form taggen:

<form method="POST" action="default.asp" onSubmit="return validation(this)">

Dock är Brimbas metod säkrare om användaren har javascript avaktiverat.

Red: Du får byta ut NAME och MESSAGE mot vad fälten heter i ditt formulär.

------------------
MvH
/Bengan
www.bengan.com
"Your mouse has moved. Windows will now restart to accept the changes."

[Redigerat av Bengan den 14 dec 2000]

Medlem sedan sep. 200056 inlägg
#5

Hmm, jag lyckas inte. Så här ser koden ut:

process.asp:

<%If len(request.form("namn")) >= 1 Then
If len(request.form("meddelande")) >= 1 Then

Set Connect = Server.CreateObject("ADODB.Connection")
dbPath = Server.MapPath("../database/gbook.mdb")
dbPass = "*hemligt*"
Connect.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & dbPath & ";uid=;pwd=" & dbPass & ";"
Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "SELECT * FROM gbook"
RecSet.open Addera, Connect, adOpenStatic, adLockOptimistic

RecSet.addnew

RecSet("namn") = Request.Form("namn")
RecSet("email") = Request.Form("email")
RecSet("icq") = Request.Form("icq")
RecSet("hemsida") = Request.Form("hemsida")
RecSet("datum") = Request.Form("datum")
RecSet("ip") = Request.Form("ip")
RecSet("meddelande") = Request.Form("meddelande")

RecSet.update
Recset.close
Connect.close
response.redirect "lgb.asp"

else
%>

<!--#include file="shell-top.txt" -->
<!--#include file="meny.txt" -->
<!--#include file="shell-mid.txt" -->
<!-- #Include file="../adovbs.inc" -->

<img src="../bilder/sgb.gif">
<form method="post" action="process.asp">
<span class="text">Fyll i alla fält. Dom rödmarkerade är obligatoriska.</span><br>

<%If len(request.form("namn")) <= 0 Then
response.write "<span class=redtext>Du har glömt fylla i ditt namn</span><br>"
End If%>

<%If len(request.form("meddelande")) <= 0 Then
response.write "<span class=redtext>Du har glömt fylla i ett meddelande</span><br>"
End If%>
<br>
  <table width="347" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td class="redtext" width="81" valign="middle">Namn:</td>
      <td width="372"> 
        <input type="text" size="70" name="namn" value="<%=Request.Form("namn")%>">
      </td>
    </tr>
    <tr>
      <td class="text" width="81" valign="middle">E-mail:</td>
      <td width="372"> 
        <input type="text" size="70" name="email" value="<%=Request.Form("email")%>">
      </td>
    </tr>
    <tr>
      <td class="text" width="81" valign="middle" height="6">ICQ #:</td>
      <td width="372" height="6"> 
        <input type="text" size="70" name="icq" value="<%=Request.Form("icq")%>">
      </td>
    </tr>
    <tr>
      <td class="text" width="81" valign="middle" height="6">Hemsida:</td>
      <td width="372" height="6"> 
        <input type="text" size="70" name="hemsida" value="<%=Request.Form("hemsida")%>">
      </td>
    </tr>
    <tr>
      <td class="redtext" width="81" valign="top" height="114">Meddelande:</td>
      <td width="372" height="114"> 
                <textarea cols="55" name="meddelande" rows="7" wrap="VIRTUAL"><%=Request.Form("meddelande")%></textarea>
      </td>
    </tr>
    <tr>
      <td>
        <input type="hidden" name="datum" value="<%=Time%>, <%=Date%>">
        <input type="hidden" name="ip" value="<%=request.servervariables("REMOTE_ADDR")%>">
        <input type="submit" value="Klar" name="submit">
      </td
    ></tr>
  </table>
  </form>

<!--#include file="shell-bottom.txt" -->
<%
End If
End If
%>

Borde inte detta funka?

------------------
/CrYpToNiC

Medlem sedan feb. 20005 891 inlägg
#6

Vad får du för felmeddelande?

------------------
buy now - pay forever

Medlem sedan sep. 200056 inlägg
#7

Om jag skriver nått på namn och inget på dom andra, så står det mycket riktigt att man har glömt att skriva ett meddelande, som är ett krav.

Men om man däremot skriver nått på meddelande och inget på dom andra så kommer jag till en tom sida. Samma händer om jag inte skriver nått alls på alla fält.

------------------
/CrYpToNiC

Medlem sedan sep. 200056 inlägg
#8

Öhh... Ingen som vet?

------------------
/CrYpToNiC

258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)