[Javascript]Stoppen van submit bij een fout.

Pagina: 1
Acties:

  • Arethusa
  • Registratie: December 2003
  • Laatst online: 29-04 14:02

Arethusa

Niet die server

Topicstarter
Momenteel ben ik samen met een kameraad bezig met het maken van een formulier voor onze Unreal Tournament clan. Hij heeft ook het leeuwendeel van dit formulier gecodeerd maar nu lopen we vast.
Via dit formulier kunnen andere UT spelers ons uitdagen voor een clanwar. Het formulier is hier te vinden: http://www.gcclan.nl/?page=fightus. Dit werkt allemaal prachtig. Men vult het formulier in en wij ontvangen een mailtje met daarin de input van die UT speler.

Maar, we hebben ook een simpele validatie aangebracht. Dez validatie cheched de tekstboxen op inhoud. Niet op de juiste inhoud maar alleen of er iets ingevuld is. Deze validatie werkt echter alleen in Internet Explorer. Het formulier opzich werkt ook in Firefox, alleen de validatie niet.

Een stukje code:

JavaScript:
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
        function controleer(){

                if ( document.fightus.name.value==''){
                        alert('Please enter your name');
                        fightus.name.focus();
            event.returnValue=false;
            event.cancel = true;
                }
                else if (document.fightus.clanname.value==''){
                        alert('Please enter your clan name');
                        fightus.clanname.focus();
                        event.returnValue=false;
                }
                else if (document.fightus.email.value==''){
                        alert('Please enter your email address so we can contact you');
                        fightus.email.focus();
                        event.returnValue=false;
                }
                else if (document.fightus.date.value=='DD/MM/YY h:m'){
                        alert('Please enter a date for indication');
                        fightus.date.focus();
                        event.returnValue=false;
                }
                else if (document.fightus.serverip.value==''){
                        alert('Please enter a server IP.\nIf you have none, then put it in there ;)');
                        fightus.serverip.focus();
                        event.returnValue=false;
                }
                else if (document.fightus.maps.value==''){
                        alert('Please enter at least one or two maps');
                        fightus.maps.focus();
                        event.returnValue=false;
                }
                
                else {
                        document.forms[0].SUBMIT.disabled = true;
                        document.forms[0].SUBMIT.value = "Wait..";
                }
                
        }
        function doe_smiley(smiley){
            inhoud = document.commentaar_toevoegen.inhoud.value + smiley
            document.commentaar_toevoegen.inhoud.value = inhoud
            document.commentaar_toevoegen.inhoud.focus()
        }


Ik vermoed dat event.returnvalue = false niet werkt in Firefox. Zo gauw je een leeg formulier verstuurd verschijnt er wel een pop up venstertje. Maar het formulier word wel verstuurd. Dit gebeurd zogezegd alleen in Fire Fox, Internet Explorer handeld dit netjes af en verstuurd het formulier niet.

Wat kan ik doen om dit in beide browsers werkend te krijgen?


Update:
Ondertussen hebben we het werkend gekregen :X We hebben het volgende in het script veranderd:

ipv onSubmit="controleer();"
is geworden
onSubmit="return controleer();"


En we hebben "return false" bij validate toegevoegd als het script niet verder mocht lopen.

[ Voor 7% gewijzigd door Arethusa op 09-10-2005 17:09 . Reden: script is werkende ]

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs