Hallo,
ik ben pas begonnen met het toevoegen van javascript aan mijn webpainga's. Nu wil ik dit gebruiken om mijn lege velden te controleren in een formulier maar dat werkt niet.
Kan er me iemand verder op weg helpen?
<html>
<head>
<script type="text/javascript">
<!--
function controleer(contact)
{
if(contact.naam.value == "")
{ alert("Gelieve uw naam in te vullen"); }
}
//-->
</script>
</head>
<body>
<table border="0" cellspacing="0" cellpadding="0">
<tr><td class=<?php echo $class; ?> width="750" colspan="2">Contactformulier</td></tr>
<tr><td class="standaard"><form method="post" action="mailconform.php" name="contact">
&nbsp Naam:</td><td><input type="text" size="50" name="naam" onchange="controleer(this.form)"></td></tr>
<tr><td class="standaard">&nbsp e-mail:</td><td><input type="texxt" name="mail" size="50"></td></tr>
<tr><td class="standaard">&nbsp adres:</td><td><input type="text" size="50" name="adres"></td></tr>
<tr><td class="standaard">&nbsp gemeente:</td><td><input type="text" size="25" name="adres"></td></tr>
<tr><td class="standaard">&nbsp postcode:</td><td><input type="text" size="4" name="postcode"></td></tr>
<tr><td class="standaard">&nbsp formuleer uw vraag</td><td class="standaard"><textarea cols="40" rows="10" name="vraag"></textarea></td></tr>
<tr><td></td><td align="right"><input type="reset" value="opnieuw">&nbsp<input type="submit" value="verzenden">&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp</form></td></tr>

</table>
</body>
</html>
Momenteel controler ik enkel het eerste veld, maa dit wil ik dan verder uitbreiden.
Alvast bedankt voor de hulp!
Ja, IE8 heeft bijna geen HTML5 support. Update je browser naar een goed en degelijk modern browser als Chrome, IE9, Opera of Safari (of firefox).
Hallo,
probleem bij het verder uitwerken van het script. De controle op leeg zijn van het veld mail in mijn formulier lukt, ook de aanwezigheid van @ voor de controle van het adres lukt. Nu wil ik diezelfde funtie indexOf(".") gaan gebruiken en dat werkt niet, kan iemand helpen?
Alvast bedankt!

<script type="text/javascript">
function validateForm(contact)
{
var x=document.forms["contact"]["naam"].value
if (x==null || x=="")
  {
      contact.naam.style.backgroundColor="#FF5B00";
  alert("Gelieve uw naam in te vullen");
  return false;
  }
var m=document.forms["contact"]["mail"].value

if (m==null || m=="")
 {
 contact.mail.style.backgroundColor="#FF5B00";
  alert("Gelieve een geldig e-mailadres in te vullen");
  return false;
 }
var AtPos =document.forms["contact"]["mail"].value.indexOf("@")
if(AtPos==-1)
 {
  contact.mail.style.backgroundColor="#FF5B00";
  alert("Gelieve een geldig e-mailadres in te vullen");
  return false;
 }
var PuntPos =document.forms["contact"]["mail"].value.indexOf(".")
if(PuntPos==-1)
 {
 contact.mail.style.backgroundColor="#FF5B00";
  alert("Gelieve een geldig e-mailadres in te vullen");
  return false;
 }
}
</script>
maak er is dit van


var x=document.forms["contact"]["mail"].value
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
  {
	   contact.mail.style.backgroundColor="#FF5B00";
  alert("vul uw email adress in alstublieft");
  return false;
  }
Oké, dit werkt perfect en is zelfs nog iets uitgebreider dan wat ik had.
Hartelijk dank voor de goede hulp!
Ik breid de functie verder uit en bij de controle van de inhoud van het adres heb ik alweer problemen. Dit is nochtans gewoon gekopieerd van de controle van de naam. Wat doe ik toch fout?

<html>
<head>
<title>Universitair Centrum voor Raadpleging en Oriëntatie Gent</title>
<link rel="stylesheet" type="text/css" href="css/sjabloon.css">
<link rel="stylesheet" type="text/css" href="css/menu.css">
<script type="text/javascript">
function validateForm(contact)
{
var x=document.forms["contact"]["naam"].value
if (x==null || x=="")
  {
      contact.naam.style.backgroundColor="#FF5B00";
  alert("Gelieve uw naam in te vullen");
  return false;
  }
var m=document.forms["contact"]["mail"].value

if (m==null || m=="")
 {
 contact.mail.style.backgroundColor="#FF5B00";
  alert("Gelieve een geldig e-mailadres in te vullen");
  return false;
 }
var atpos=m.indexOf("@");
var dotpos=m.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=m.length)
  {
       contact.mail.style.backgroundColor="#FF5B00";
  alert("Gelieve een geldig e-mail adres in te geven");
  return false;
  }
var adr=document.forms["contact"]["adres"].value
if (adr==null || adr=="")
  {
      contact.adres.style.backgroundColor="#FF5B00";
  alert("Gelieve uw adres in te vullen");
  return false;
  }
}
</script>
</head>
<body class="achtergrond">
<table width="100%" height="100%" celpadding="0" celspacing="0">
<tr>
	<td valign="top" align="center">
	<table class="Hoofdtabel" border="0" cellpadding="0" cellspacing="0" width="958px" height="100%">
	<tr>
	<td background="images/banner.jpg" height="107px"></td>
	</tr>
	<tr><td class="achtergrond"></td></tr>
	<tr valign="top">
	<td>
		<!--dient om de verdeling te maken tussen de tabel en de menu -->
		<table border="0" width="958px" cellpadding="0" cellspacing="0" height="100%">
		<tr>
		<td width="150px" valign="top" bgcolor='#2E9AFE'>
		<?php
		menu(0); 									
		?>
		</td>
		<td class="achtergrond" width="5px"></td>
		<td valign="top">
		<table border="0" cellpadding="0" cellspacing="0" width="100%" align="center" height="100%" bgcolor="white">
		<tr>
			<td valign="top">
			<!--het tekstgedeelte moet hier komen-->
			<table border="0" cellspacing="0" cellpadding="0">
			<tr><td class=<?php echo $class; ?> width="750" colspan="2">Contactformulier</td></tr>
			<tr><td class="standaard"><form method="post"  action="mailconform.php" id="contact" onsubmit="return validateForm(this);">
				&nbsp Naam:</td><td><input type="text" size="50" name="naam" id="naam"></td></tr>
			<tr><td class="standaard">&nbsp e-mail:</td><td><input type="text" id="mail" name="mail" size="50"></td></tr>
			<tr><td class="standaard">&nbsp adres:</td><td><input type="text" size="50" name="adres" id="adres"></td></tr>
			<tr><td class="standaard">&nbsp gemeente:</td><td><input type="text" size="25" name="adres"></td></tr>
			<tr><td class="standaard">&nbsp postcode:</td><td><input type="text" size="4" name="postcode"></td></tr>
			<tr><td class="standaard">&nbsp formuleer uw vraag</td><td class="standaard"><textarea cols="40" rows="10" name="vraag"></textarea></td></tr>
			<tr><td></td><td align="right"><input type="reset" value="opnieuw">&nbsp<input type="submit" value="verzenden">&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp</form></td></tr>	
			
			</table>
			</td>
			<td class="achtergrond" width="5px" rowspan="2"></td>
			<td bgcolor="#2E9AFE" width="150px" rowspan="2" valign="top">
			<font class="h3"><center><i><u>Contact</u></i></center></font>
					<center><font class="standaard">Begijnhoflaan 464<br>
						9000 Gent<br><br>
						Tel. 09/3310360<br>
						Fax.: 09/ 331 03 69<br>
						<a href="mailto:[email protected]">[email protected]</a></font></center><br>
						<center><i><u><font class="h3">Partners</font></u></i></center><br>
						<center><img src="images/ucbo.gif"></center><br>
						<center><img src="images/vdab.gif"></center>
			
			</td>
		</tr>
		
		</table>
		</td>
		</tr>
		
		</table>
	</td>
	</tr>
	<tr height="10px"  bgcolor='#2E9AFE'><td class="standaard"><center>© 2011 Universitair Centrum voor Raadpleging en Oriëntatie - Begijnhoflaan 464, 9000 Gent - Open op werkdagen van 09.00 tot 17.00u -
	 <a href="mailto:[email protected]">Contacteer ons</a></center>
	</td></tr>
	</table>
	</td>
</tr>

</table>
</body>
</html>

Probleem zit dus in het laatste stukje javascript.
Alvast bedankt!

Reageren