[GastForen Programmierung/Entwicklung JavaScript function chkFormular() - im besch... NS funktioniert mal wieder nix!!!

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

function chkFormular() - im besch... NS funktioniert mal wieder nix!!!

Anonym
Beiträge gesamt: 22827

28. Jul 2004, 14:55
Beitrag # 1 von 10
Bewertung:
(2502 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Leute!
Ich hab ein riesiges Problem mit dem NS bei der Formularüberprüfung.

Die Überprüfung funktioniert einwandfrei; aber danach geschieht gar nichts mehr :-( ; Ich sitze seit Tagen über diesem Problem und bin schon ganz Codeblind ;-)

Seht selbst:
Die Formularüberprüfung:

<script language="JavaScript">
<!--
function chkFormular()
{
if(document.Formular.vorname.value == "")
{
alert(" Ein Beratungstermin kann ohne Namen nicht vereinbart werden. Bitte geben Sie Ihren vollständigen Namen an.");
document.Formular.vorname.focus();
return false;
}

if(document.Formular.nachname.value == "")
{
alert(" Ein Beratungstermin kann ohne Namen nicht vereinbart werden. Bitte geben Sie Ihren vollständigen Namen an.");
document.Formular.nachname.focus();
return false;
}

if(document.Formular.strasse.value == "")
{
alert(" Ein Beratungstermin kann nur mit vollständiger Adresse vereinbart werden. Bitte geben Sie Ihre Strasse an.");
document.Formular.strasse.focus();
return false;
}

if(document.Formular.plz.value == "")
{
alert(" Ein Beratungstermin kann nur mit vollständiger Adresse vereinbart werden. Bitte geben Sie Ihre Postleitzahl an.");
document.Formular.plz.focus();
return false;
}


if(document.Formular.wohnort.value == "")
{
alert(" Ein Beratungstermin kann nur mit vollständiger Adresse vereinbart werden. Bitte geben Sie Ihren Wohnort an.");
document.Formular.wohnort.focus();
return false;
}


if(document.Formular.telefon.value == "")
{
alert("Ihr Rückruf konnte nicht angefordert werden, da Sie Ihre Telefonnummer nicht eingegeben haben.");
document.Formular.telefon.focus();
return false;
}

if(isNaN(document.Formular.telefon.value) == true)
{
alert(document.Formular.telefon.value + " ist keine reine Ziffernfolge! Bitte als Telefon-Nummer nur Ziffern, ohne Leerzeichen, Sonderzeichen, o.ä. eingeben.");
document.Formular.telefon.focus();
return false;
}
document.Formular.telefon.value = "0"+document.Formular.telefon.value;
return true;
}


function Absenden()
{
if (chkFormular())
document.Formular.submit();
}
function Zuruecksetzen()
{
document.Formular.reset();
}
//-->
</script>
____________________________________


Das Formular ist ja eh klar; der Absende und Reset-Button:


<input type="reset" name="reset" value="&nbsp;&nbsp;&nbsp;Löschen&nbsp;&nbsp;&nbsp;" class="button" wrap="physical" style="color= #FFFFFF; background-color: #08417B; border-color:#08417B;">

<img src="gfx/clear.gif" width=25 height=1 alt="" border="0"><a href="javascript:Absenden()"><input type="submit" name="submit" value="&nbsp;&nbsp;&nbsp;Absenden&nbsp;&nbsp;&nbsp;" class="button" style="color= #FFFFFF; background-color: #08417B; border-color:#08417B;"></a>
X

function chkFormular() - im besch... NS funktioniert mal wieder nix!!!

Anonym
Beiträge gesamt: 22827

28. Jul 2004, 15:05
Beitrag # 2 von 10
Beitrag ID: #99870
Bewertung:
(2502 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Anmerkung: Das Problem besteht nur im aktuellen NS 7.0; bei IE ab Vers. 5 und beim NS 4.7 funktioniert alles!


als Antwort auf: [#99868]

function chkFormular() - im besch... NS funktioniert mal wieder nix!!!

SabineP
Beiträge gesamt: 7586

28. Jul 2004, 21:44
Beitrag # 3 von 10
Beitrag ID: #99947
Bewertung:
(2502 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Anonym,

welche Fehlermeldung zeigt Netscape 7 in der Javascriptkonsole?

Dazu
javascript:
in die Adresszeile eintippen.

Gibt es einen Link zum vollständigen Formular?

Gruß Sabine


als Antwort auf: [#99868]
(Dieser Beitrag wurde von SabineP am 28. Jul 2004, 21:47 geändert)

function chkFormular() - im besch... NS funktioniert mal wieder nix!!!

ganesh
Beiträge gesamt: 1981

29. Jul 2004, 06:09
Beitrag # 4 von 10
Beitrag ID: #99989
Bewertung:
(2502 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wieso ein hyperlink um den submit button?

Wieso nicht

<form onsubmit="Absenden();">

?



als Antwort auf: [#99868]

function chkFormular() - im besch... NS funktioniert mal wieder nix!!!

Anonym
Beiträge gesamt: 22827

29. Jul 2004, 08:56
Beitrag # 5 von 10
Beitrag ID: #100002
Bewertung:
(2502 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sabine,
das Formular liegt in einem Fenster; die Überprüfung funktioniert einwandfrei; ist jedoch das Formular komplett ausgefüllt und ich klicke auf absenden passiert gar nichts; d.h. das Formular verschickt sich nicht.
Vielen Dank schon mal!

Gruß Elvira


als Antwort auf: [#99868]

function chkFormular() - im besch... NS funktioniert mal wieder nix!!!

Anonym
Beiträge gesamt: 22827

29. Jul 2004, 09:01
Beitrag # 6 von 10
Beitrag ID: #100006
Bewertung:
(2502 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Also mal was ganz neues zu dem Problem oben:

Sobald ich auf den Absende-Button klicke und alle Pflichtfelder sind ausgefüllt hängt sich der NS 7.0 bei der Telefonnummer ein und schreibt vor die Telefonnummer bei jedem Klick eine Null hinein.
????????????????????????????????????????????????????
Warum denn das?
:-(


als Antwort auf: [#99868]

function chkFormular() - im besch... NS funktioniert mal wieder nix!!!

Markus Walker
Beiträge gesamt: 494

29. Jul 2004, 09:05
Beitrag # 7 von 10
Beitrag ID: #100008
Bewertung:
(2502 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
@ganesh: Der Hyperlink ist wohl da, da der liebe Anonymus den onsubmit Event wohl nicht kennt — reine Spekulation ;-)

@Anonymus: Der «besch... NS» hält sich halt an die HTML-Definition, wo <input> Tags innerhalb von <a> Tags nicht vorgesehen sind:
http://de.selfhtml.org/...z/elemente.htm#input

Was passiert, ist dass der Link übernommen wird, will heissen über das Pseudo-Protokoll javascript: wird die entsprechende Funktion getriggert. Diese gibt true oder false zurück, was dann halt im Fenster mangels weiterer Angaben (die Location ist ja mit javascript:.... überschrieben worden) angezeigt wird.
Zum Pseudo-Protokoll javascript: ist noch anzumerken, dass dies keinem offiziellen Standard entspricht und nicht bei jedem Browser gleich implementiert wurde. Einige öffnen dadurch ein separates Fenster.

Wenn ich Dein Script richtig verstehe, willst Du die Eingaben validieren, sprich überprüfen bevor sie abgeschickt werden. Dazu gibt es den onsubmit Event, um das entsprechende Script zu triggern. In Deinem Falle wird dadurch die Funktion Absenden() obsolet, weil gerade mit dem Rückgabewert der Funktion chkFormular() gearbeitet werden kann.
http://de.selfhtml.org/...handler.htm#onsubmit

Viel Spass beim Ändern und immer schön bei den Standards bleiben ;-)


als Antwort auf: [#99868]

function chkFormular() - im besch... NS funktioniert mal wieder nix!!!

Anonym
Beiträge gesamt: 22827

29. Jul 2004, 09:51
Beitrag # 8 von 10
Beitrag ID: #100023
Bewertung:
(2502 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen, vielen Dank für Eure Hilfe!
Ich habe den a href beim Absendebutton durch <form onsubmit="Absenden();"> ersetzt und jetzt funktionierts auch beim NS 7.0! :-)))

(Und jetzt kommt das berühmte) Allerdings schreibt mir das Script automatisch eine (weitere) "Null" vor die Telefonnummer!

Ich bin Euch sehr dankbar für Euere Hilfe und werde mich nun selbst registrieren, damit auch ich mal anderen helfen kann.

Grüße an Alle
Elvira


als Antwort auf: [#99868]

function chkFormular() - im besch... NS funktioniert mal wieder nix!!!

ganesh
Beiträge gesamt: 1981

29. Jul 2004, 10:09
Beitrag # 9 von 10
Beitrag ID: #100030
Bewertung:
(2502 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
"Sobald ich auf den Absende-Button klicke und alle Pflichtfelder sind ausgefüllt hängt sich der NS 7.0 bei der Telefonnummer ein und schreibt vor die Telefonnummer bei jedem Klick eine Null hinein.
Warum denn das?"


Bist Du blind oder hast Du dieses Skript einfach mal irgendwo kopiert?

document.Formular.telefon.value = "0"+document.Formular.telefon.value;

Was meinst Du was diese Zeile macht? Rate mal.


als Antwort auf: [#99868]
(Dieser Beitrag wurde von ganesh am 29. Jul 2004, 10:10 geändert)

function chkFormular() - im besch... NS funktioniert mal wieder nix!!!

Markus Walker
Beiträge gesamt: 494

29. Jul 2004, 10:19
Beitrag # 10 von 10
Beitrag ID: #100039
Bewertung:
(2502 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Die zweitletzte Zeile der Funktion chkFormular() lauten:

document.Formular.telefon.value = "0"+document.Formular.telefon.value;

Also wenn die Funktion bis hierhin abgearbeitet wurde, wird eine 0 vor den aktuellen Wert des bezeichneten Feldes gestellt.



Betreffend dem input element innnerhalb des a Elements war ich oben etwas schnell mit der Aussage. Das input Element ist natürlich ein Inline-Element und somit gestattet innnerhalb des a Elements. Offenbar ist hier ein Definitions-Loch im HTML DDT, da nicht spezifiziert ist, was im vorliegenden Fall genau passieren soll. MSIE führt offenbar beides aus, wo der NS nur das äussere Element berücksichtigt.



als Antwort auf: [#99868]
X