Javascript browsergevoelig ?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sab Kriksdeegir

Sab Kriksdeegir

01/12/2006 21:36:00
Quote Anchor link
Ik heb namelijk een validatie script geschreven hier onderaan te vinden die enkel werkt in Firefox(2.0) en niet in IE 6.0... Weet iemand hoe dit zou kunnen ?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<body onMouseOver="Change_OnSubmit();">

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<script type="text/javascript">
Functie_Geladen = false;


function Change_OnSubmit() {
    if (Functie_Geladen != true) {
    
    Functie_Geladen = true;
    for (iii=0;iii<document.forms.length;iii++) {
        document.forms[iii].setAttribute ("onsubmit","validate(); return no_errors");

    }
    }
}


    function validate() {
        no_errors = true;
        for (ii=0;ii<document.forms.length;ii++) {
            for (i=0;i<document.forms[ii].elements.length;i++) {
            box = document.forms[ii].elements[i];
            box_type = box.getAttribute("type");
            box_name = box.getAttribute("name");
                if (box_type= "text") {
                    if (!box.value) {
                        no_errors = false;
                        box.className = "error";
                        document.getElementById('error_box').innerHTML = "Gelieve de velden die met rood aangeduid zijn in te vullen !";
                                     
                    }else{
                        box.className = "";
                    }
                }
            
        }
        return no_errors;
        }
    }
    </script>
 
PHP hulp

PHP hulp

22/12/2024 10:57:57
 
Arjan Schuurman

Arjan Schuurman

01/12/2006 22:00:00
Quote Anchor link
Ik kan geen javascript, maar weet wel dat het zich aan de browser aanpast.
 
Eris -

Eris -

01/12/2006 22:02:00
Quote Anchor link
Wat voor errors krijg je.

Ben te lui om het zelf te testen
 
Sab Kriksdeegir

Sab Kriksdeegir

01/12/2006 22:07:00
Quote Anchor link
nu ja in feite geen errors :)
In IE wordt de functie validatie niet uitgevoerd.
Het veranderen van de onsubmit gebeurd wel. Dit heb ik getest en daarna opgevraagd met het GetAttribute commando waarmee ik in IE ook
kreeg
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
validate() ; return no_errors


maar hij komt nooit in de functie terecht wat Firefox dan wel doet
 
Sab Kriksdeegir

Sab Kriksdeegir

02/12/2006 09:40:00
Quote Anchor link
Na wat rondvraag heb ik ontdekt dat de interpretatie voor beide browsers anders zijn... Weet er niemand iets om dit te gaan omzeilen ?
 
Zero Dead

Zero Dead

02/12/2006 09:44:00
Quote Anchor link
getAttribute & className -> volgens mij kent IE deze functies niet... getElementById zou voor getAttribute volgens mij ook gewoon kunnen werken... className - hmmm probeer eens .class = 'what ever';

FireFox is gewoon zo'n minder aangenaam browser dat weer net even anders moet doen dan IE, hierdoor is de JavaScripter 2x zo lang bezig +.+ (weinig kans dat FF eerder JavaScript ondersteunde dan IE...)
Gewijzigd op 01/01/1970 01:00:00 door Zero Dead
 
Sab Kriksdeegir

Sab Kriksdeegir

02/12/2006 09:53:00
Quote Anchor link
hehe thx ffen checken ;)
 
Jan Koehoorn

Jan Koehoorn

02/12/2006 10:17:00
Quote Anchor link
ZeRoDeaD schreef op 02.12.2006 09:44:
probeer eens .class = 'what ever';

Dat is foute syntax. Die className is prima.
ZeRoDeaD schreef op 02.12.2006 09:44:
FireFox is gewoon zo'n minder aangenaam browser dat weer net even anders moet doen dan IE, hierdoor is de JavaScripter 2x zo lang bezig +.+ (weinig kans dat FF eerder JavaScript ondersteunde dan IE...)

FF minder aangenaam??? Hij is juist veel correcter in de ondersteuning van JavaScript en levert daarbij ook nog eens een keurige console met duidelijke foutmeldingen. Dat ben ik in IE nog nooit tegengekomen.

Edit:

De manier waarop je functies toekent aan het onsubmit-event van de formulieren is waarschijnlijk niet goed. Probeer liever iets als:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
for (iii = 0; iii < document.forms.length; iii++) {
    document.forms[iii].onsubmit = function () {
        return validate (this); // hier geef je het formulier als object mee, zodat je het verder in je validatiefunctie kunt gebruiken.
    }
}
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Sab Kriksdeegir

Sab Kriksdeegir

02/12/2006 14:08:00
Quote Anchor link
Dank je jan, dat is het helemaal ;)
(na enige aanpassing van de functie Validate ;) )
Thx for the replies
 
- -

- -

02/12/2006 15:08:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
Functie_Geladen = false;
?>

moet met var
dus
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
var Functie_Geladen = false;
?>
 
Jelmer -

Jelmer -

02/12/2006 16:01:00
Quote Anchor link
hoeft niet.
Waneer je een variabele set binnen een functie, maar voor de eerste keer daarvoor geen 'var' gebruikt, maakt hij de variabele globaal aan. Gebruik je wel 'var', dan is hij alleen lokaal (dus binnen de functie en dieper) beschikbaar.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.