Hallo liebe JS-Gemeinde,
ich hatte vor ein Captcha zu gestallten das mit ein Mausklick gelöst werden kann.
Dafür lasse ich ein zufälliges Bild wiedergeben, dass einen zum Bild zugeordneten wert hat: also bild_a=1;bild_b=2;bild_c=3;
dann habe ich in einen Form-tag drei inputs gesetzt die wenn sie makiert werden den vergleichswert füllen, wo dahinter die entsprechenden Bilder zugeordnet sind.
der sendenbutton soll dann, wenn die vergleichs-funktion ein true zurück gibt, die "action" ausführen. ... und hier klemmt es, und ich weiss nicht wieso.
Ich wäre über jeden ernst gemeinten Ratschlag sehr dankbar.
Zeile 24 - document.write funktioniert scheinbar über mehrere Zeilen nicht. Falls ich mich da irre, bitte ich um eine Antwort.
Weil er das alert nicht aufruft glaube ich, das er die Checkinput-funktion nicht aufruft.
Ich hoffe das ich alle Forumregeln beachtet habe. Dies ist mein erster Beitrag. Danke im vorraus für Ihre Antworten.
ich hatte vor ein Captcha zu gestallten das mit ein Mausklick gelöst werden kann.
Dafür lasse ich ein zufälliges Bild wiedergeben, dass einen zum Bild zugeordneten wert hat: also bild_a=1;bild_b=2;bild_c=3;
dann habe ich in einen Form-tag drei inputs gesetzt die wenn sie makiert werden den vergleichswert füllen, wo dahinter die entsprechenden Bilder zugeordnet sind.
der sendenbutton soll dann, wenn die vergleichs-funktion ein true zurück gibt, die "action" ausführen. ... und hier klemmt es, und ich weiss nicht wieso.
Ich wäre über jeden ernst gemeinten Ratschlag sehr dankbar.
HTML:
<html>
<head>
<title>Captcha</title>
<script type="text/javascript">
function DrawCaptcha()
{
this.bild_a = Math.ceil(Math.random() * 3);
this.bild_b = 0;
if (this.bild_a == 1)
{
document.write('<img src="a.png">');
}
if (this.bild_a == 2)
{
document.write('<img src="b.png">');
}
if (this.bild_a == 3)
{
document.write('<img src="c.png">');
}
document.write('<form action="http://google.de" onsubmit="return CheckInput();"><p>Klicken sie das dargestellte bild an:</p><p><input type="radio" name="auswahlbild" onSelect="DrawCaptcha.bild_b = this.value;" value="1"> <img src="a.png" height="50px" width="50px"><br><input type="radio" name="auswahlbild" onSelect="DrawCaptcha.bild_b = this.value;" value="2"> <img src="b.png" height="50px" width="50px"><br><input type="radio" name="auswahlbild" onSelect="DrawCaptcha.bild_b = this.value;" value="3"> <img src="c.png" height="50px" width="50px"></p></form><input type="submit" value="absenden">');
}
function CheckInput()
{
if (DrawCaptcha.bild_a == DrawCaptcha.bild_b)
{return true;
alert("richtig");
}
else {
return false;
alert("falsch");
}
}
</script>
</head>
<body onload="DrawCaptcha();">
</body >
Zeile 24 - document.write funktioniert scheinbar über mehrere Zeilen nicht. Falls ich mich da irre, bitte ich um eine Antwort.
Weil er das alert nicht aufruft glaube ich, das er die Checkinput-funktion nicht aufruft.
Ich hoffe das ich alle Forumregeln beachtet habe. Dies ist mein erster Beitrag. Danke im vorraus für Ihre Antworten.
Zuletzt bearbeitet: