meerdere funcities combineren
Een tijdje geleden vroeg ik hier hulp om een formulier op lege velden na te zien. .Dit werkt nu perfect. Maar nu wil ik een veld nazien op enkel getallen.
Volgende functie heb ik daarvoor:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
var elem=document.forms[contact][postcode].value
function isNumeric(elem){
var numericExpression = /^[0-9]+$/;
if(elem.match(numericExpression)){
return true;
}else{
contact.postcode.style.backgroundColor="#FF5B00";
alert("Gelieve uw postcode in te vullen");
return false;
}
}
function isNumeric(elem){
var numericExpression = /^[0-9]+$/;
if(elem.match(numericExpression)){
return true;
}else{
contact.postcode.style.backgroundColor="#FF5B00";
alert("Gelieve uw postcode in te vullen");
return false;
}
}
Hoe integreer ik dit binnen mijn bestaande funtie:
Of kan je via de onsubmit beide aanroepen?
Alvast bedankt voor de hulp!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<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;
}
var gem=document.forms["contact"]["gemeente"].value
if (gem=="" || gem==null)
{
contact.gemeente.style.backgroundColor="#FF5B00";
alert("Gelieve uw adres in te vullen");
return false;
}
}
</script>
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;
}
var gem=document.forms["contact"]["gemeente"].value
if (gem=="" || gem==null)
{
contact.gemeente.style.backgroundColor="#FF5B00";
alert("Gelieve uw adres in te vullen");
return false;
}
}
</script>
Gewijzigd op 06/03/2012 23:38:29 door Andy De Clercq
Let erop dat je overzichterlijk programeert, zodat je eventuele fouten er sneller uit pakt.
Kijk hoe ik het heb gedaan. Leer hier van, zodat je volgende keer zulke problemen zelf kan oplossen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<script type="text/javascript">
function isNumeric (elem)
{
var numericExpression = /^[0-9]+$/;
if (elem.match (numericExpression))
return true;
else
return false;
}
function validateForm (contact)
{
var x = document.forms["contact"]["naam"].value;
var m = document.forms["contact"]["mail"].value;
var atpos = m.indexOf ("@");
var dotpos = m.lastIndexOf (".");
var adr = document.forms["contact"]["adres"].value;
var gem = document.forms["contact"]["gemeente"].value;
var postc = document.forms["contact"]["postcode"].value;
/* Kijken of de naam ingevult is. */
if (x == null || x == "")
{
contact.naam.style.backgroundColor = "#FF5B00";
alert ("Gelieve uw naam in te vullen");
return false;
}
/* Kijken of het email ingevult is. */
if (m == null || m == "")
{
contact.mail.style.backgroundColor = "#FF5B00";
alert ("Gelieve een geldig e-mailadres in te vullen");
return false;
}
/* Kijken of het email correct is. */
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;
}
/* Kijken of een adres is ingevult. */
if (adr == null || adr == "")
{
contact.adres.style.backgroundColor = "#FF5B00";
alert ("Gelieve uw adres in te vullen");
return false;
}
/* Kijken of een gemeente is ingevult. */
if (gem == "" || gem == null)
{
contact.gemeente.style.backgroundColor = "#FF5B00";
alert ("Gelieve uw adres in te vullen");
return false;
}
/* Kijken of de postcode een nummer is. (0000 = goed, 0000AA = fout) */
if (isNumeric (postc))
{
contact.postcode.style.backgroundColor = "#FF5B00";
alert ("Gelieve uw postcode in te vullen");
}
}
</script>
function isNumeric (elem)
{
var numericExpression = /^[0-9]+$/;
if (elem.match (numericExpression))
return true;
else
return false;
}
function validateForm (contact)
{
var x = document.forms["contact"]["naam"].value;
var m = document.forms["contact"]["mail"].value;
var atpos = m.indexOf ("@");
var dotpos = m.lastIndexOf (".");
var adr = document.forms["contact"]["adres"].value;
var gem = document.forms["contact"]["gemeente"].value;
var postc = document.forms["contact"]["postcode"].value;
/* Kijken of de naam ingevult is. */
if (x == null || x == "")
{
contact.naam.style.backgroundColor = "#FF5B00";
alert ("Gelieve uw naam in te vullen");
return false;
}
/* Kijken of het email ingevult is. */
if (m == null || m == "")
{
contact.mail.style.backgroundColor = "#FF5B00";
alert ("Gelieve een geldig e-mailadres in te vullen");
return false;
}
/* Kijken of het email correct is. */
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;
}
/* Kijken of een adres is ingevult. */
if (adr == null || adr == "")
{
contact.adres.style.backgroundColor = "#FF5B00";
alert ("Gelieve uw adres in te vullen");
return false;
}
/* Kijken of een gemeente is ingevult. */
if (gem == "" || gem == null)
{
contact.gemeente.style.backgroundColor = "#FF5B00";
alert ("Gelieve uw adres in te vullen");
return false;
}
/* Kijken of de postcode een nummer is. (0000 = goed, 0000AA = fout) */
if (isNumeric (postc))
{
contact.postcode.style.backgroundColor = "#FF5B00";
alert ("Gelieve uw postcode in te vullen");
}
}
</script>
in elk geval bedankt voor de hulp. Het principe snap ik nu. Je mag dus de functies los van elkaar aanmaken en dan "gewoon" aanroepen.
Ik heb zelf wat verder geknutseld met behulp van de console in IE maar nu krijg ik een alert als de postcode geen getal is maar na het klikken op de ok verstuurd hij het formulier alsnog.
Dit is dus niet de bedoeling, iemand enig idee wat de logica is?
Dit heb ik dus nu:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<script type="text/javascript">
function isNumeric (elem)
{
var numericExpression = /^[0-9]+$/;
if (elem.match (numericExpression))
return true;
else
return false;
}
function validateForm(contact)
{
var x=document.forms["contact"]["naam"].value;
var m=document.forms["contact"]["mail"].value;
var atpos=m.indexOf("@");
var dotpos=m.lastIndexOf(".");
var adr=document.forms["contact"]["adres"].value;
var gem=document.forms["contact"]["gemeente"].value;
var postc=document.forms["contact"]["postcode"].value;
if (x==null || x=="")
{
contact.naam.style.backgroundColor="#FF5B00";
alert("Gelieve uw naam in te vullen");
return false;
}
if (m==null || m=="")
{
contact.mail.style.backgroundColor="#FF5B00";
alert("Gelieve een geldig e-mailadres in te vullen");
return false;
}
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;
}
if (adr==null || adr=="")
{
contact.adres.style.backgroundColor="#FF5B00";
alert("Gelieve uw adres in te vullen");
return false;
}
if (gem=="" || gem==null)
{
contact.gemeente.style.backgroundColor="#FF5B00";
alert("Gelieve uw adres in te vullen");
return false;
}
if (! isNumeric (postc))
{
contact.postcode.style.backgroundColor = "#FF5B00";
alert ("Gelieve uw postcode in te vullen");
return false;
}
}
</script>
function isNumeric (elem)
{
var numericExpression = /^[0-9]+$/;
if (elem.match (numericExpression))
return true;
else
return false;
}
function validateForm(contact)
{
var x=document.forms["contact"]["naam"].value;
var m=document.forms["contact"]["mail"].value;
var atpos=m.indexOf("@");
var dotpos=m.lastIndexOf(".");
var adr=document.forms["contact"]["adres"].value;
var gem=document.forms["contact"]["gemeente"].value;
var postc=document.forms["contact"]["postcode"].value;
if (x==null || x=="")
{
contact.naam.style.backgroundColor="#FF5B00";
alert("Gelieve uw naam in te vullen");
return false;
}
if (m==null || m=="")
{
contact.mail.style.backgroundColor="#FF5B00";
alert("Gelieve een geldig e-mailadres in te vullen");
return false;
}
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;
}
if (adr==null || adr=="")
{
contact.adres.style.backgroundColor="#FF5B00";
alert("Gelieve uw adres in te vullen");
return false;
}
if (gem=="" || gem==null)
{
contact.gemeente.style.backgroundColor="#FF5B00";
alert("Gelieve uw adres in te vullen");
return false;
}
if (! isNumeric (postc))
{
contact.postcode.style.backgroundColor = "#FF5B00";
alert ("Gelieve uw postcode in te vullen");
return false;
}
}
</script>
Ik probeerde al om de return false weg te halen bij het aanroepen van de functie maar dat helpt niet. Ook de not bij het if haalde ik al weg en dat helpt niks.
Het lijkt alsof hij de functie negeert eens op ok klikt.