return-Anweisung außerhalb einer Funktion

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • return-Anweisung außerhalb einer Funktion

    Habe ein Problem mit meinen Java-Script. Im Firefox klappts wunderbar. Allerdings im Internet-Explorer spinnt es.

    Das Script:

    Quellcode

    1. function validate_form(){
    2. valid = true;
    3. var anrede = document.my_form.anrede.value;
    4. if(valid==true){
    5. if ( anrede == '0' ){
    6. alert ( "Bitte geben Sie eine Anrede an." );
    7. valid = false;
    8. }
    9. }
    10. var vorname = document.my_form.vorname.value;
    11. var nachname = document.my_form.nachname.value;
    12. if(valid==true){
    13. if ( vorname == '' )
    14. {
    15. alert ( "Bitte geben Sie Ihren Vornamen an" );
    16. valid = false;
    17. }
    18. }
    19. if(valid==true){
    20. for (i=0; i<vorname.length; i++)
    21. {
    22. if(
    23. (vorname.charCodeAt(i) > 64 && vorname.charCodeAt(i) < 91) ||
    24. (vorname.charCodeAt(i) > 96 && vorname.charCodeAt(i) < 123) ||
    25. (vorname.charCodeAt(i) == 45) || (vorname.charCodeAt(i) == 46) ||
    26. (vorname.charCodeAt(i) == 228) || (vorname.charCodeAt(i) == 246) ||
    27. (vorname.charCodeAt(i) == 252) || (vorname.charCodeAt(i) == 32)
    28. ){}
    29. else {
    30. alert("Unerlaubtes Zeichen im Vornamen [ "+vorname.charAt(i)+" ]");
    31. valid = false;}
    32. }
    33. }
    34. if(valid==true){
    35. if ( nachname == '' )
    36. {
    37. alert ( "Bitte geben Sie Ihren Nachnamen an" );
    38. valid = false;
    39. }
    40. }
    41. if(valid==true){
    42. for (i=0; i<nachname.length; i++)
    43. {
    44. if(
    45. (nachname.charCodeAt(i) > 64 && nachname.charCodeAt(i) < 91) ||
    46. (nachname.charCodeAt(i) > 96 && nachname.charCodeAt(i) < 123) ||
    47. (nachname.charCodeAt(i) == 45) || (nachname.charCodeAt(i) == 46) ||
    48. (nachname.charCodeAt(i) == 228) || (nachname.charCodeAt(i) == 246) ||
    49. (nachname.charCodeAt(i) == 252) || (nachname.charCodeAt(i) == 32)
    50. ){}
    51. else {
    52. alert("Unerlaubtes Zeichen im Nachnamen [ "+nachname.charAt(i)+" ]");
    53. valid = false;}
    54. }
    55. }
    56. return valid; }
    Alles anzeigen


    Eingebunden in die Homepage wird die Index.php. Aufgerufen wird diese Funktion mit dem Aufruf der index.php nicht. Halt nur included.

    Ich schließ das Script doch eigentlich richtig ab, oder? Das Script soll mir den Wert "valid" übergeben. Ist return falsch?
  • Die Laufvariable i war auch nicht definiert. Ich hab den Code mal umgeschrieben, aber nicht getestet.

    Quellcode

    1. function validate_form_2() {
    2. var anrede = document.my_form.anrede.value;
    3. var vorname = document.my_form.vorname.value;
    4. var nachname = document.my_form.nachname.value;
    5. if (anrede=='0') {alert("Bitte geben Sie eine Anrede an."); return false;}
    6. if (vorname=='') {alert("Bitte geben Sie Ihren Vornamen an"); return false;}
    7. if (nachname=='') {alert("Bitte geben Sie Ihren Nachnamen an"); return false;}
    8. if (!validate_char(vorname)) {
    9. alert("Unerlaubtes Zeichen im Vornamen [ "+vorname.charAt(i)+" ]");
    10. return false;
    11. }
    12. if (!validate_char(nachname)) {
    13. alert("Unerlaubtes Zeichen im Nachnamen [ "+nachname.charAt(i)+" ]");
    14. return false;
    15. }
    16. return true;
    17. }
    18. function validate_char(str_in) {
    19. for (var i=0; i<str_in.length; i++) {
    20. if ((str_in.charCodeAt(i) <= 64 && str_in.charCodeAt(i) >= 91)
    21. && (str_in.charCodeAt(i) <= 96 && str_in.charCodeAt(i) >= 123)
    22. && str_in.charCodeAt(i) != 45
    23. && str_in.charCodeAt(i) != 46
    24. && str_in.charCodeAt(i) != 228
    25. && str_in.charCodeAt(i) != 246
    26. && str_in.charCodeAt(i) != 252
    27. && str_in.charCodeAt(i) != 32) return false;
    28. }
    29. return true;
    30. }
    Alles anzeigen