stefan(klein geschrieben): wo ist der fehler (nn oder ich)

hallo leute

warum kommt der ie5 aber nicht der nn4.7 mit dieser einfachen abfrage klar. ie gut nn hängt fest und bringt laufend die alertbox. nn ist dann nur noch über strg+alt+entf zu "beruhigen.

hier das script
<script language="JavaScript">
function check()
{
if((document.kontakt.rubrik.selectedIndex == 0)(document.kontakt.bezeich.value =="")(document.kontakt.beschreib.value =="")(document.kontakt.link.value =="")(document.kontakt.mail.value ==""))
alert('Bitte alles ausfüllen');
}
</script>
und hier das form.

<form style="width:500px;" width=350 method="post" name="kontakt" action="http://www.teamone.de/cgi-local/selfmail.pl">
<table>
<input type="hidden" name="mailto" value="script@web.de">
<input type="hidden" name="return" value="http://www.stefan-burow.de/content/danke.htm">
<input type="hidden" name="delimiter" value=": ">
<input type="hidden" name="subject" value="neuer Link">
<tr><td align="center" class="big" colspan="2">Link Tipp zusenden</td></tr>
<tr><td>Rubrik:</td><td><select name="rubrik" size="1">
                        <option value="---bitte auswählen---">---bitte auswählen---
                        <option value="Javascript/DHTML">Javascript/DHTML
                        <option value="CGI/Perl">CGI/Perl
                        <option value="Web">Web
                        <option value="Spass">Spass
                        </select></td></tr>
<tr><td>Bezeichnung:</td><td><input style"width:300px;" width=400 type="Text" name="bezeich" value=""  maxlength="150"></td></tr>
<tr><td>Beschreibung:</td><td><textarea style"width:450px;" width=400 wrap=hard name="beschreib"  rows="10"></textarea></td></tr>
<tr><td>Link:</td><td><input style"width:300px;" width=400 type="Text" name="link" value="" maxlength="150"></td></tr>
<tr><td>E-Mail:</td><td><input style"width:300px;" width=400 type="Text" name="mail" value=""  maxlength="150"></td></tr>
<tr><td><input type="Submit" onfocus="check()" name="" value="Senden"></td><td align="right"><input value="Löschen" type="reset"></td></tr>
<tr><td align="center" colspan="2"><a href="javascript:self.close()">Fentser schließen!</a></td></tr>
</table>
</form>

nicht lachen is ne billige strato-domain.

danke für eure mühe(wenns eine ist)
glaube nennt man betriebsblindheit bei mir(zu viele bäume)

fruß stefan

  1. Hi
    Der Fehler liegt daran, dass Netscape den focus eben auf dem Absendebutton behaellt.
    Ich wuerde das ganze Problem dadurch umgehen, dass ich die Funktion onsubmit (im form tag!) aufrufen wuerde und nicht onfocus.
    Dann funktioniert es auch im NS. Wenn ich das richtig in Erinnerung habe, muss du am Ende der Funktion noch ein return false uebergeben, da das Formular sonst doch abgesendet wird.
    Tschau Holger

  2. hallo,
    probiers mal mit
    function check()
    {
    if((document.kontakt.rubrik.selectedIndex == 0)(document.kontakt.bezeich.value
    =="")(document.kontakt.beschreib.value =="")(document.kontakt.link.value
    =="")(document.kontakt.mail.value ==""))
       {
       alert('Bitte alles ausfüllen');
       return false;
       }
    else
      {
      return true;
      }
    }
    ...
    <input type="Submit" onClick="return check()" name="" value="Senden">
    ...

    weil wenn Du das bei 'onFocus' machst, dann passiert das normalerweise immer wenn, der Button den Fokus bekommt, also auch dann, wenn Du die alert-box schließt. Also liegts eigentlcih am IE, der anscheinend eigenartiges mit dem Fokus anstellt, bzw. die Windows-Events nicht korrekt auswertet.
    wichtig ist noch dieses 'return check' beim submit button. wenn die Funktion nämlich 'false' retuor-liefert, dann sollte das Formular ja nicht abgesendet werden.
    ich fang das meist mit 'onsubmit=""' im <FORM>-Tag ab.
    vielleicht siehst Du Dir mal die Lösung von <www.nextcd.com> an, dort habe ich einen Check eingebaut. Einfach eine CD aussuchen, zur Versandliste zufügen und bei 'Bestellung checken' bist zur eingabe der persönluichen Daten durchklicken. naja Du wirst es schon finden.

    klaus

    BTW.: in dieser Site sind einige Dinge realisiert, die viele Fragen dieses Forums beantworten würden. Eure Meinung dazu würde mich interessieren.

    1. morgen klaus,

      also erstmal danke! wie ich sagte denkblockade von mir.

      weil wenn Du das bei 'onFocus' machst, dann passiert das normalerweise immer wenn, der Button den Fokus bekommt, also auch dann, wenn Du die alert-box schließt. Also liegts eigentlcih am IE, der anscheinend eigenartiges mit dem Fokus anstellt, bzw. die Windows-Events nicht korrekt auswertet.

      ligt wirklich am ie, der verlert den focus wenn man auf die alertbox klickt.

      BTW.: in dieser Site sind einige Dinge realisiert, die viele Fragen dieses Forums beantworten würden. Eure Meinung dazu würde mich interessieren.

      jetzt darf ich auch mal.
      1. optisch top (bis auf siehe 3.)
      2. wie groß ist die seite (mit grafiken) hatte ebend 6:10 uhr ne ladezeit von ca. 2-3 min (bis alles da war (56k modem)
      3. habe "leider" nur 800x600 und scrollbalken(horizontal) nicht nur bei neue cd's sondern auch im hauptanzeigeframe.
      4. wenn ich das erstemal auf cd bestellen klicke wäre es nicht schlecht wenn da irgendwie ne info kommen würde das die cd im warenkorb ist (eventuell ne angekreuzte checkbox) weil ich habe dann nochmal geklickt und dann kam die alertbox.

      aber alles in allem sieht gut aus.
      gruß stefan

      1. »> jetzt darf ich auch mal.

        1. optisch top (bis auf siehe 3.)

        Danke, ist aber nicht mein Verdienst, hat der Rupert und der Jürgen gemacht, ich bin _nur_ der Programmier-Fuzzie.

        1. wie groß ist die seite (mit grafiken) hatte ebend 6:10 uhr ne ladezeit von ca. 2-3 min (bis alles da war (56k modem)

        Ich weiß, aber es ist halt 'ne optisch orientierte Seite, da hilft nicht mal, wenn die ganzen Bilder web-optimiert werden. (Image-Ready von Adobe Photoshop 5.5)

        1. habe "leider" nur 800x600 und scrollbalken(horizontal) nicht nur bei neue cd's sondern auch im hauptanzeigeframe.

        wundert mich, weil der Rupert hat es eigentlich so angelegt, daß es mit 800x600 auch funktionieren sollte.

        1. wenn ich das erstemal auf cd bestellen klicke wäre es nicht schlecht wenn da irgendwie ne info kommen würde das die cd im warenkorb ist (eventuell ne angekreuzte checkbox) weil ich habe dann nochmal geklickt und dann kam die alertbox.

        jaja , das preload. eigentlich sollte der Bestell-Button der CD nach der Bestellung gedrückt sein. Oder geht das etwa unter, dann ist es schade.

        Für mich ist es dahingehend interessant, daß die Seiten logisch recht gut funktionieren. wir haben viel zeit damit verbracht, daß alles möglichst überall funktioniert, wenn nur Frames, Javascript und Cookies funktionieren.
        Und wir haben viele Tests mit den uns damals zur verfügung stehenden Browsern (IE 4 und NN 3 und 4) gemacht (unter Windows, MacOS und Linux).
        Außerdem sind einige Techniken verwendet, welche hier im Forum immer wieder nachgefragt werden.

        aber danke für die (m.E. doch recht positive) Kritik

        klaus