webForumDet fria alternativet

Hjälp med valideringsproblem asp-formulär

ASP

3 svar · 1 187 visningar · startad av Donatello73

Medlem sedan apr. 20133 inlägg
Frågan#1

Hej, är ny på forumet.

Har ett problem. Hade en kodare som gjort ett formulär i asp för några år sedan. Och nu måste jag lägga in att tre fält skall vara tvingande.

Använder mig av dreamweaver och där kan man lägga en javascript-check på valfria fält, vilket jag har använt mig av till andra formulär. Men just detta bryr sig in om detta utan skickar iväg formuläret ändå.

Tror och hoppas att det är något enkelt som behöver göras och som någon förhoppningsvis kan hjälpa mig med.

asp-koden ser ut så här:

<%

If Request.Form("status") = "skicka" Then

	'	MailBodyHTML = MailBodyHTML & "<HTML>" & vbcrlf
	'	MailBodyHTML = MailBodyHTML & "<HEAD>" & vbcrlf
	'	MailBodyHTML = MailBodyHTML & "</HEAD>" & vbcrlf
	'	MailBodyHTML = MailBodyHTML & "<BODY MARGINHEIGHT='0' MARGINWIDTH='0' TOPMARGIN='0' BOTTOMMARGIN='0' RIGHTMARGIN='0' LEFTMARGIN='0'>" & vbcrlf
	'	MailBodyHTML = MailBodyHTML & vbcrlf
	'	MailBodyHTML = MailBodyHTML & "<TABLE WIDTH='100%' BORDER='0' CELLSPACING='0' CELLPADDING='20'><TR><TD STYLE='font-size:11px; line-height:18px; font-family:arial'>" & vbcrlf
	'	MailBodyHTML = MailBodyHTML & vbcrlf
	'	MailBodyHTML = MailBodyHTML & vbcrlf
	'	MailBodyHTML = MailBodyHTML & vbcrlf
	'	MailBodyHTML = MailBodyHTML & "<P><I>Detta utskick gjordes "& FormatDateTime(Now(),2) &", "& FormatDateTime(Now(),4) &" på begäran från IP-nummer "& Request.ServerVariables("REMOTE_ADDR") &".</I></P>" & vbcrlf
	'	MailBodyHTML = MailBodyHTML & vbcrlf
	'	MailBodyHTML = MailBodyHTML & "</TD></TR></TABLE>" & vbcrlf
	'	MailBodyHTML = MailBodyHTML & vbcrlf
	'	MailBodyHTML = MailBodyHTML & "</BODY>" & vbcrlf
	'	MailBodyHTML = MailBodyHTML & "</HTML>" & vbcrlf

		MailBody = MailBody & vbcrlf
		MailBody = MailBody & "Formulär från xxxxxxs hemsida "& SETT_Foretag &"  - Information." & vbcrlf
		MailBody = MailBody & vbcrlf
		MailBody = MailBody & "Företagsnamn: " & Request.Form("Foretagsnamn") & vbcrlf
		MailBody = MailBody & "Kontakt-namn: " & Request.Form("Kontaktnamn") & vbcrlf
		MailBody = MailBody & "E-post: " & Request.Form("Epost") & vbcrlf
		MailBody = MailBody & vbcrlf
		MailBody = MailBody & "Vikt: " & Request.Form("vikt") & vbcrlf
		MailBody = MailBody & "Längd: " & Request.Form("Langd") & vbcrlf
		MailBody = MailBody & "Bredd: " & Request.Form("Bredd") & vbcrlf
		MailBody = MailBody & "Höjd: " & Request.Form("Hojd") & vbcrlf
		MailBody = MailBody & "Avsändare-Postnummer: " & Request.Form("AvsandarePostnummer") & vbcrlf
		MailBody = MailBody & "Mottagare-Postnummer: " & Request.Form("MottagarePostnummer") & vbcrlf
		MailBody = MailBody & vbcrlf
		MailBody = MailBody & vbcrlf
		MailBody = MailBody & "Detta utskick gjordes "& FormatDateTime(Now(),2) &", "& FormatDateTime(Now(),4) &" på begäran från IP-nummer "& Request.ServerVariables("REMOTE_ADDR") &"." & vbcrlf
		MailBody = MailBody & vbcrlf

		Set JMail = Server.CreateObject("JMail.SMTPMail")

		JMail.ServerAddress		= "mail.xxxxxx.se"
		JMail.Sender			= "info@xxxxxx"
		JMail.AddRecipient		"info@xxxxxx"
		JMail.Subject			= "xxxxxx, xxxxxx"
'		JMail.HTMLBody			= MailBodyHTML & vbcrlf	
		JMail.Body				= MailBody & vbcrlf
		JMail.Priority			= 3
		JMail.Execute 
		Set JMail = Nothing

		Response.Redirect("/xxxxxx.asp")

	End if

%>

formulärkoden:

<form method="post" action="/bli-medlem.asp" name="form1" onSubmit="return validateForm();MM_validateForm('Foretagsnamn','','R','Kontaktnamn','','R','Epost','','R');return document.MM_returnValue" style="float: left">

javascriptet:

<script type="text/javascript">
function MM_validateForm() { //v4.0
  if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
      if (val) { nm=val.name; if ((val=val.value)!="") {
        if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
          if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
        } else if (test!='R') { num = parseFloat(val);
          if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
          if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
            min=test.substring(8,p); max=test.substring(p+1);
            if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
      } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
    } if (errors) alert('The following error(s) occurred:\n'+errors);
    document.MM_returnValue = (errors == '');
} }
</script>
Medlem sedan juni 200032 967 inlägg
#2

Jag vet inte om du glömt bifoga funktionen eller missat något med copy-paste någonstans, men return validateForm(); i din onsubmit ser suspekt ut. Den förhindrar MM_validateForm från att köras, så ta bort det och prova igen.

mvh

Medlem sedan apr. 20133 inlägg
#3

Lysande, valideringen funkar nu!
Bockar och bugar....

Medlem sedan juni 200032 967 inlägg
#4

Vasse! Och välkommen till wF! :bire

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)