Ik heb al genoeg informatie voorbij zien komen, dat je daar niks mee kan :/
VB:
Je hebt een formulier met 2 veldjes:
[li]Veld 1[/li]
[li]Veld 2[/li]
Het controleren of deze vedjes zijn ingevuld, doe je op de volgende manier:
<?
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
foreach($_POST as $value)
{
if(empty($value))
{
$error = 'Er zijn velden niet ingevud';
}
}
if(isset($error))
{
echo $error;
}
}
?>
Verder kan je ook nog testen op input dmv regex. Maar daar mag je
Google voor gebruiken :)
Mvg,
Erik
Link gekopieerd
Doet hij ook niet. Ik moet echt iets met JS doen. Anders wil hij het echt niet doen... :(
Heeft iemand iets wat het 'beste' is van een JS validation? I know it sucks ass, maar is nu ff de enige oplossing. Moet het nl. snel hebben en tis geen webshop met betalinggegevens etc. etc. erin ofzo.
Moet gewoon een soort reminder zijn van; HE! Vergeet je dat veld niet?
Link gekopieerd
Ik heb een werkend voorbeeld voor je gemaakt:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Formvalidatie met JS</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function checkform () {
var x = document.getElementsByTagName ('input');
for (i = 0; i < x.length; i++) {
if (x[i].value == '') {
alert (x[i].id + ' is niet ingevuld!');
return false;
}
}
return confirm ('Formulier verzenden?');
}
function init () {
var _my_form = document.getElementById ('my_form');
_my_form.onsubmit = function () {
return checkform ();
}
}
window.onload = init;
</script>
</head>
<body>
<form method="post" action="#" id="my_form">
<p>
<label for="veld1">veld 1</label>
<input id="veld1" name="veld1" type="text">
</p>
<p>
<label for="veld2">veld 2</label>
<input id="veld2" name="veld2" type="text">
</p>
<p>
<label for="veld3">veld 3</label>
<input id="veld3" name="veld3" type="text">
</p>
<p>
<label for="veld4">veld 4</label>
<input id="veld4" name="veld4" type="text">
</p>
<p>
<label for="veld5">veld 5</label>
<input id="veld5" name="veld5" type="text">
<input type="submit" value="verzenden">
</p>
</form>
</body>
</html>
Link gekopieerd
Wat meer controle:
for (i = 0; i < x.length; i++) {
if (x[i].value == "" || x[i].value == null x[i].value.charAt(0) == ' ') {
alert (x[i].id + ' is niet ingevuld!');
return false;
}
}
!isNaN(x[i].value) kan je er nog bijzetten om te kijken of het geen nummers bevat.
edit: code tags
Link gekopieerd
Deze doet het gewoon niet. Ik snap er niets van. Hier is een voorbeeld van een pagina van mij; (heb de kleinste gekozen);
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Formulier Openingsbrief Todaysbeheer</title>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
var keyCode = (isNN) ? e.which : e.keyCode;
var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
if(input.value.length >= len && !containsElement(filter,keyCode)) {
input.value = input.value.slice(0, len);
input.form[(getIndex(input)+1) % input.form.length].focus();
}
function containsElement(arr, ele) {
var found = false, index = 0;
while(!found && index < arr.length)
if(arr[index] == ele)
found = true;
else
index++;
return found;
}
function getIndex(input) {
var index = -1, i = 0, found = false;
while (i < input.form.length && index == -1)
if (input.form[i] == input)index = i;
else i++;
return index;
}
return true;
}
// End -->
</script>
<script type="text/javascript">
function init () {
if (document.forms.length > 0) {
var n = document.forms[0].elements.length;
for (i = 0; i < n; i++) {
if (document.forms[0].elements[i].type == 'text') {
var first_field = document.forms[0].elements[i];
first_field.blur ();
first_field.focus ();
first_field.select ();
break;
}
}
}
}
window.onload = init;
</script>
</head>
<body>
<h1>Vragenlijst</h1>
<form action="docs/content_vragenlijst.php" method="POST" target="_blank">
Aanhef 1e rekeninghouder:<br>
<select name="1">
<option value="0">Maak uw keuze</option>
<option value="1">De heer</option>
<option value="2">Mevrouw</option>
</select><br>
<br>
Voorletters & naam 1e rekeninghouder:<br>
<input type="text" name="2"><br>
<br>
Aanhef 2e rekeninghouder:<br>
<select name="3">
<option value="0">Maak uw keuze</option>
<option value="1">De heer</option>
<option value="2">Mevrouw</option>
</select>
<br>
<br>
Voorletters & naam 2e rekeninghouder:<br>
<input type="text" name="4">
<br><br>
Adres, nummer & toevoeging:<br>
<input type="text" name="5">
<input type="text" name="5B" size="2">
<input type="text" name="5C" size="1"><br><br>
Postcode:<br>
<input type="text" name="6" maxlength="4" size="2" onKeyUp="return autoTab(this, 4, event);">
<input type="text" name="7" maxlength="2" size="1" style="text-transform: uppercase" onKeyUp="return autoTab(this, 2, event);"><br><br>
Woonplaats:<br>
<input type="text" name="8" style="text-transform: uppercase"><br>
<br>
Telefoon:<br>
<input type="text" name="9" size="20" maxlength="10"><br><br>
<input type="submit" value="GENEREER"><input type="reset" value="OPNIEUW">
</form>
</body>
</html>
Link gekopieerd
Link gekopieerd
Ja ok, dat voor in de toekomst maar heb vandaag wat nodig. Gewoon JS die met m'n source werkt. Word helemaal panisch er van. Lukt me nl. allemaal niet. Grrrr....
Link gekopieerd
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Formulier Openingsbrief Todaysbeheer</title>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
var keyCode = (isNN) ? e.which : e.keyCode;
var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
if(input.value.length >= len && !containsElement(filter,keyCode)) {
input.value = input.value.slice(0, len);
input.form[(getIndex(input)+1) % input.form.length].focus();
}
function containsElement(arr, ele) {
var found = false, index = 0;
while(!found && index < arr.length)
if(arr[index] == ele)
found = true;
else
index++;
return found;
}
function getIndex(input) {
var index = -1, i = 0, found = false;
while (i < input.form.length && index == -1)
if (input.form[i] == input)index = i;
else i++;
return index;
}
return true;
}
// End -->
</script>
<script type="text/javascript">
function init () {
if (document.forms.length > 0) {
var n = document.forms[0].elements.length;
for (i = 0; i < n; i++) {
if (document.forms[0].elements[i].type == 'text') {
var first_field = document.forms[0].elements[i];
first_field.blur ();
first_field.focus ();
first_field.select ();
break;
}
}
}
}
window.onload = init;
</script>
</head>
<body>
<h1>Vragenlijst</h1>
<script>
function checkForm()
{
var error = new Array();
var numerror = "0";
var valid = "true";
var select1 = document.getElementById("1").value;
var select2 = document.getElementById("3").value;
var name1 = document.getElementById("2").value;
var name2 = document.getElementById("4").value;
var addressA = document.getElementById("5A").value;
var addressB = document.getElementById("5B").value;
var postcodenum = document.getElementById("6").value;
var postcodelet = document.getElementById("7").value;
var city = document.getElementById("8").value;
var phonenumber = document.getElementById("9").value;
if(select1 == "0")
{
error["noselect1"] = "true";
valid = "false";
numerror++;
}
if(name1 == "")
{
error["noname1"] = "true";
valid = "false";
numerror++;
}
if(select2 == "0")
{
error["noselect2"] = "true";
valid = "false";
numerror++;
}
if(name2 == "")
{
error["noname2"] = "true";
valid = "false";
numerror++;
}
if(addressA == "")
{
error["noaddressA"] = "true";
valid = "false";
numerror++;
}
if(addressB == "")
{
error["noaddressB"] = "true";
valid = "false";
numerror++;
}
if(postcodenum == "")
{
error["nopostcodenum"] = "true";
valid = "false";
numerror++;
}
if(postcodelet == "")
{
error["nopostcodelet"] = "true";
valid = "false";
numerror++;
}
if(city == "")
{
error["nocity"] = "true";
valid = "false";
numerror++;
}
if(phonenumber == "")
{
error["nophonenumber"] = "true";
valid = "false";
numerror++;
}
if(valid == "true")
{
document.getElementById("form").submit();
}
else
{
if(numerror == "2")
{
numerror = "mankeert " + numerror + " ding";
}
else
{
numerror = "mankeren " + numerror + " dingen";
}
var errormessage = "Er " + numerror + " met uw ingevulde formulier:\n";
if(error["noselect1"] == "true")
{
errormessage = errormessage + "\n *Er is geen aanhef geselecteerd voor de 1e rekeninghouder.";
}
if(error["noname1"] == "true")
{
errormessage = errormessage + "\n *Er zijn geen voorletters en naam ingevuld voor de 1e rekeninghouder.";
}
if(error["noselect2"] == "true")
{
errormessage = errormessage + "\n *Er is geen aanhef geselecteerd voor de 2e rekeninghouder.";
}
if(error["noname2"] == "true")
{
errormessage = errormessage + "\n *Er zijn geen voorletters en naam ingevuld voor de 2e rekeninghouder.";
}
if(error["noaddressA"] == "true")
{
errormessage = errormessage + "\n *Er is geen straat ingevuld bij het adres.";
}
if(error["noaddressB"] == "true")
{
errormessage = errormessage + "\n *Er is geen huisnummer ingevuld bij het adres.";
}
if(error["nopostcodenum"] == "true")
{
errormessage = errormessage + "\n *Er is geen postcodenummer ingevuld.";
}
if(error["nopostcodelet"] == "true")
{
errormessage = errormessage + "\n *Er zijn geen postcodeletters ingevuld.";
}
if(error["nocity"] == "true")
{
errormessage = errormessage + "\n *Er is geen woonplaats ingevuld.";
}
if(error["nophonenumber"] == "true")
{
errormessage = errormessage + "\n *Er is geen telefoonnummer ingevuld.";
}
alert(errormessage);
}
}
</script>
<form id = "form" action="docs/content_vragenlijst.php" method="POST" target="_blank">
Aanhef 1e rekeninghouder:<br>
<select id = "1" name="1">
<option value="0">Maak uw keuze</option>
<option value="1">De heer</option>
<option value="2">Mevrouw</option>
</select><br>
<br>
Voorletters & naam 1e rekeninghouder:<br>
<input id = "2" type="text" name="2"><br>
<br>
Aanhef 2e rekeninghouder:<br>
<select id = "3" name="3">
<option value="0">Maak uw keuze</option>
<option value="1">De heer</option>
<option value="2">Mevrouw</option>
</select>
<br>
<br>
Voorletters & naam 2e rekeninghouder:<br>
<input id = "4" type="text" name="4">
<br><br>
Adres, nummer & toevoeging:<br>
<input id = "5A" type="text" name="5">
<input id = "5B" type="text" name="5B" size="2">
<input type="text" name="5C" size="1"><br><br>
Postcode:<br>
<input id = "6" type="text" name="6" maxlength="4" size="2" onKeyUp="return autoTab(this, 4, event);">
<input id = "7" type="text" name="7" maxlength="2" size="1" style="text-transform: uppercase" onKeyUp="return autoTab(this, 2, event);"><br><br>
Woonplaats:<br>
<input id = "8" type="text" name="8" style="text-transform: uppercase"><br>
<br>
Telefoon:<br>
<input id = "9" type="text" name="9" size="20" maxlength="10"><br><br>
<input type = "button" onclick="checkForm();" value="GENEREER"><input type="reset" value="OPNIEUW">
</form>
</body>
</html>
Dit werkt misschien dan?
Link gekopieerd
Hylke. Ik houd van jou! TOP!
Link gekopieerd