Michael W.: Onklick im Formmailer

erstmal muss ich mich von dem schock erholen ... das war ja der hammer - gut gemacht !!
aber jezt zum thema:
ich habe einen formmailer gemacht http://www.djwoelk.de.vu/formmailer/index2.htm doch online gehts nicht so wie offline es erscheint ein laufzeit fehler - wieso ?
und abschicken lässt sich auch nix - da muss ich nochmal schauen, denn http://www.djwoelk.de.vu/formmailer/ geht ja.
meine eigentliche frage bezieht sich aber auf das erste feld im formular. das feld mit dem "disabled". wie kann ich mit einem onklick o.ä. das "disabled" hin und weg klicken ??
also: an/aus stellen ?

  1. Moin!

    ich habe einen formmailer gemacht http://www.djwoelk.de.vu/formmailer/index2.htm doch online gehts nicht so wie offline es erscheint ein laufzeit fehler - wieso ?

    Opera gibt bekannt:
    Reference to undefined variable: No such variable 'write'

    Vermutlich willst du eine Variable write ausgeben, die nicht definiert ist. Oder du hast die Funktion write() falsch aufgerufen, so daß der Aufruf als Variablenzugriff angesehen wird (wegen fehlender Klammern?).

    Schmeiß mal deinen IE bei der Fehlerbehebung von Javascripten auf den Müll, installier dir Netscape (egal ob Version 4 oder 6), und nutze dessen wunderbare Javascript-Konsole. Die ist wesentlich auskunftsfreudiger als der IE.

    Ansonsten solltest du mal die Eigenschaften der Formularelemente aus Sicht von Javascript angucken, bzw. gucken, ob du nicht die Eigenschaft "disabled" genauso wie die Eigenschaft "checked" verändern kannst.

    - Sven Rautenberg

  2. Hallo Michael

    erstmal muss ich mich von dem schock erholen ... das war ja der hammer - gut gemacht !!

    stimmt. ich bin auch drauf reingefallen :-)

    aber jezt zum thema:
    ich habe einen formmailer gemacht http://www.djwoelk.de.vu/formmailer/index2.htm doch online gehts nicht so wie offline es erscheint ein laufzeit fehler - wieso ?

    einige Fehler fanden sich da. Hauptfehler:

    <base target="inline">

    deine Verweise sehen so aus:

    <a href="javascript:write()" onClick="javascript:window.document.f.recipient.value='webmaster@schranzfreak.de';javascript:window.document.f.email.value='djwoelk@freenet.de';javascript:window.document.f.subject.value='allgemein';javascript:window.document.f.text.value='schöner tag heute, ich habe mir mal gedacht ich lasse mal den link für mich schreiben.'">
    Formular Standart 2</a>

    Sobald ein Anwender auf den Verweis klickt wird zuerst der onclick-Event ausgewertet. Hier gehört das Wort javascript: nicht hinein. Onclick ist bereits Javascript.

    Anschließend wird versucht, dem Link zu folgen. Durch die base-target-Angabe wird dem Browser aber gesagt, das Verweisziel liegt im Fenster "inline". Natürlich sucht der Browser jetzt genau in diesem Fenster, deinem iframe, die Funktion write(). Die existiert nicht, deshalb die Fehlermeldung.

    Abgesehen davon ist write() als Funktionsname etwas unglücklich gewählt, da dies gleichzeitig der Name der Methode write() (document.write()) ist. Empfindliche Browser können da böse drauf reagieren.

    Da deine Funktion gegenwärtig nichts tut, kannst du diese ersetzen mit javascript:void(0) (mag Opera 5.12, offline nur, wenn Inlineframe aktiviert sind). Besser ist es jedoch, du schreibst deine Verweise in der Form:

    <a href="#" onClick="window.document.f.recipient.value='webmaster@schranzfreak.de';window.document.f.email.value='djwoelk@freenet.de';window.document.f.subject.value='allgemein';window.document.f.text.value='schöner tag heute, ich habe mir mal gedacht ich lasse mal den link für mich schreiben.';return false;">
    Formular Standart 2</a>

    Das return false am Ende deine Befehlsreihenfolge bewirkt, dass der Verweis nicht ausgeführt wird.

    Alternativ kannst du, die base-target-Angabe weglassen bzw. im Verweis selbst,  target="_self" angeben. Diese Angabe überschreibt die base-Angabe.

    meine eigentliche frage bezieht sich aber auf das erste feld im formular. das feld mit dem "disabled". wie kann ich mit einem onklick o.ä. das "disabled" hin und weg klicken ??
    also: an/aus stellen ?

    :-) ganz einfach:

    <a href="#" onclick="document.f.recipient.disabled=!document.f.recipient.disabled;return false;">disabled an/aus</a>

    Klappt allerdings nur im IE und Netscape 6. Opera 5.12 wollte nicht.
    Prinzip:

    ist  document.f.recipient.disabled==true wird nach klick
    document.f.recipient.disabled==false und umgekehrt.

    Mit document.f.recipient.disabled = !document.f.recipient.disabled wird also immer der gegenteilige Zustand erzeugt.

    Viele Grüße

    Antje

    1. funktioniert soweit.
      die an/aus funktion geht, aber wie bekomme ich gezielt nur einen aus und mit nem anderen link wieder an - also nicht mit einem link an und aus und an und aus sonder "an" ist ein link und "aus" ist ein link
      und wie kann ich mit einem link input1 aus und input2 an und input3 an oder 1 an 2 aus 3 an und so weiter... ???

      1. Hallo Michael <-- das ist eine Anrede

        funktioniert soweit.
        die an/aus funktion geht, aber wie bekomme ich gezielt nur einen aus und mit nem anderen link wieder an - also nicht mit einem link an und aus und an und aus sonder "an" ist ein link und "aus" ist ein link
        und wie kann ich mit einem link input1 aus und input2 an und input3 an oder 1 an 2 aus 3 an und so weiter... ???

        Dann experimentiere mal mit den Werten. alert(document.f.recipient.disabled) sagt dir was du wissen mußt.

        Jetzt ist deine Phantasie gefragt, aber du findest sicher eine Lösung.

        Viele Grüße <-- das ist eine Verabschiedung

        Antje

        PS: Diese Seite heißt SELFHTML nicht GETHTML (wink Cheatah).