Kann mir jemand ein Script geben, das vor dem Absenden eines Formulars überprüft ob ein Link geklickt wurde? (wenn der Link nicht geklickt wurde, soll das Formular nicht abgesendet werden und eine Meldung erscheinen, dass der Link geklickt werden soll (zB ein alert))
Besides: Kann man bei onClick mehrere javascripts ausführen lassen?
Kann mir jemand ein Script geben, das vor dem Absenden eines
Formulars überprüft ob ein Link geklickt wurde? (wenn der Link
nicht geklickt wurde, soll das Formular nicht abgesendet
werden und eine Meldung erscheinen, dass der Link geklickt
werden soll (zB ein alert))
Also ich sehe mehrer Möglichkeiten:
Globale Variable:
Im script-Bereich definierst Du eien Variable, die Du dann in der „onClick“-Funktion des Links setzt und in der Prüffunktion abtesten. Das eignet sich aber nur, wenn es wirklich nur ein Link ist. (Bei mehreren könnte man ein Array verwenden.>
Eigenschaft ergänzen:
Du kannst in der onClick-Funktion des Links einfach dem Linke eine Eigenschaft hinzufügen. Beispiel:
In der Prüffunktion fragst Du den Wert einfach ab:
lnk=document.getElementById(linkname);
if ( !lnk.pressed )
{
alert('Bitte Link noch anklicken!');
}
Allerdings haben alle diese Lösungen das Problem, dass nach dem Verlassen die Information, ob schon geklickt wurde oder nicht, weg ist. Dafür bliebe dann ein Cookie.
Besides: Kann man bei onClick mehrere javascripts ausführen
lassen?
Bsp: onClick=„check(); window()“
Ja das geht. ggf. schreibst Du „javascript:“ davor.
Korrigiert:
So kannst Du es machen, wenn es nur ein Link ist, der zu prüfen ist. Falls mehrere Links geprüft werden sollen, solltest Du Prüffunktion so umstellen, dass sie die zu prüfenden Links „kennt“ und die Id nicht übergeben werden muss.
Nunja, was soll ich sagen? Danke für deine Mühen, aber es funktioniert immer noch nicht so wirklich.
Den Tippfehler hab ich auch entfernt [linkGive(tihs.id)]
Irgendwas stimmt da noch nicht ganz…
[HIER KLICKEN](javascript:machWas(‚LINK%201‘);alert(‚XXX‘)
[HIER AUCH MAL KLICKEN](javascript:machWas(‚LINK%202‘);alert(‚yyy‘)
[HIER IST KLICKEN Nicht notwendig](javascript:machWas(‚LINK%203‘);alert(’###’)
Danke schön!! Das funktioniert einwandfrei!
Ist es auch möglich, dass ein Formular nicht abgesendet werden soll, wenn der Link nicht geklickt ist?
Es wird zwar ein Alert gemacht, das sagt, dass der Link noch nicht geklickt wurde, aber das Formular wird trotz dessen abgesendet. Das soll nicht sein. Gibt es da einen Weg?
klar geht auch das:
Absenden mit Prüfung
In der Funktion „checkAll()“ kannst Du den Parameter „lnk“ aus der Parameterliste entfernen und MUSST beim letzten „return“ das „true“ durch die Variable „rv“ ersetzen.
Mit der Funktion „checkSingle“ sollte es gleich Funktionieren, da diese Funktion schon richtig „true“ bzw. „false“ zurück gibt. Also etwa so:
Absenden mit Prüfung
Gruß
Volkmar
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]