Supportnet Computer
Planet of Tech

Supportnet / Forum / Webseiten/HTML

Radio Button nicht gecheckt - Warnung





Frage

Hallo Ich habe auf meiner Seite 2 Radio Buttens zum klicken für AGB´s (ja und nein) Nun möchte ich, wenn der Radio Butten NEIN geclickt wurde, dass eine Seite aufgeht mit einer Message drauf, beim betätigen des Abschicken Buttons. Oder eine Pop up message wie z.B. " Sie müssen mit unseren AGB´s einverstanden sein" wenn man den Abschicken Butten betätigt. Wie und wo kann ich das eingeben?

Antwort 1 von Jaja

wenns eine popup message sein soll müsstest du das per javascript machen.

wenn du es sonst nicht brauchst, bleibe leiber bei reinem html und nutze einfach eine weitere seite um diese meldung anzuzeigen indem du sie einfach verlinkst.

Antwort 2 von TK24

Hallo Jaja

eine solche Seite habe ich schon erstellt, doch nun fehlt mir die eingabe im html.
Das Formular soll nicht verschick bar sein wenn der button NEIN angeklickt ist.
Da soll dann folgende Seite auftauchen

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Wahrnung</title>
<style type="text/css">
div.A{ font-family:Verdana; color:#000042;margin-left: 30px; }
</style>
</head>

<body background="Panorama12.jpg">
<div class="A"><h3><font color="#FF0000">ACHTUNG:</font></h3>
<h3>Sie müssen mit unseren AGB´s einverstanden sein,<br>
ansonsten können wir ihren Auftrag nicht bearbeiten.</h3>
<p>bitte klicken sie auf die <b>Zurück</b> Taste in der Menüleiste um sich die
<b>AGB´s</b>
durchlesen zu können. <br>
<br>&nbsp;</div></body>

</html>

Antwort 3 von son_quatsch

Dann musst du serverseitiges Scripting einsetzen, wie PHP, Perl oder ASP. Hast du sowas überhaupt? Wenn nein, ist die von dir gebastelte Seite ziemlich wertlos und um eine JavaScript-Lösung wirst du nicht herumkommen.

Antwort 4 von Jaja

ich konnte dir in der theorie sagen, was deine möglichkeiten betrifft, kann dir aber so nicht helfen da ich nur die grundkentnisse in html usw. habe.

sorry.

sofern der link an eine bedingung geknüpft sein soll, sehe ich nur javascript als lösung.

wenn du nur per post/get das formular versendest - ohne javascript und daher ohne bedingungen zu prüfen, könnte nun dein php script oder cgi progrmmchen die bedingung nachträglich prüfen, wenn du denn die entscheidung des nutzers, die agb anzunehmen oder nicht auch mit dem formular verschickst.

Antwort 5 von Friedel

Sowas kann serverseitig nicht gehen. Der Server kann ja erst nach dem Verschicken erkennen, was angeklickt wurde. Das muss also Clientseitig gemacht werden. Ohne JavaScript geht es also nicht. Wie das genau realisieren kannst, hängt natürlich davon ab, wie das ganze verschickt wird.

Antwort 6 von TK24

verschickt wird das Formular mit einem Formmailer

<?php
$stradmin = 'info@domain.de';
$strfrom = '"Auftrag" <info@domain.de>';
$strsubject ='Auftrag';
$strReturnhtml = 'http://www.domain.de/Danke.htm';
$strDelimiter = ":\t";
if($_POST)
{
$strMailtext = "";

while(list($strName,$value) = each ($_POST))
{
if(is_array($value))
{
foreach($value as $value_array)
{
$strMailtext .= $strName.$strDelimiter.$value_array."\n";
}
}
else
{
$strMailtext .= $strName.$strDelimiter.$value."\n";
}
}

mail($stradmin, $strsubject,$strMailtext, "From:".$strfrom)
or die("Die Mail konnte nicht versendet werden.");
header ("Location: $strReturnhtml");
exit;
}

?>

Antwort 7 von DeluxeStyle

dein Formmailer ist äußerst unsicher.
Heißt, er kann zum Spammen verwendet werden.

Du musst überprüfungen in dem php Script einbauen.
Dringend

Antwort 8 von son_quatsch

Nein, so nicht. Entweder änderst du den "Formmailer" selbst ab, oder die Action des Form-Tags deiner Seite mit dem AGB-Text geht erstmal auf eine andere PHP-Datei. Innerhalb dieser prüfst du, welcher Radiobutton gewählt wurde und rufst ENTWEDER dann den "Formmailer" auf, ODER lässt eben jene "So nicht"-Seite anzeigen, wie oben von dir gepostet.

Antwort 9 von TK24

und wie?

Ich bin nicht so bewappnet mit der ganzen sache, da ich hierfür keine Schule besucht habe.

Antwort 10 von Pausenfueller

Hallo,

ich hab mal vor einiger Zeit vor einem ähnlichen Problem gestanden und um Java-Script und Pop-Ups zu vermeiden eine etwas 'unorthodoxe' Lösung zusammengefrickelt. Es gab überhaupt nur einen tatsächlichen Radio-Button, der zweite Button sah nur so aus, als ob er einer wäre. Beim Klick darauf wurde einfach eine um einen Hinweistext ergänzte Variante der gleichen Seite aufgerufen.

Bestimmt nicht sehr professionell, aber das musste es in dem Fall auch nicht sein und es funktionierte.

Gruß
Pausenfüller

Antwort 11 von son_quatsch

Warum eigentlich der Aufwand? Entferne die Radiobuttons und benenne den Button gleich um in "ich erkläre mich einverstanden". Punkt.

Antwort 12 von TK24

gute Idee Son_quatsch, habe ich mir auch eben ausgedacht, nur wenn der butten nicht gelickt ist, dann darf das formular auch nicht verschickt werden.

Antwort 13 von TK24

also brauche ich dennoch eine Pop up message

Antwort 14 von Jaja

machste auf den button ein sternchen und schreibst drunter:

*mit dem absenden des formulars erklären sie sich mit unseren AGB einverstanden.

AGB natürlich verlinkt.
ob das gerichtsfest ist, weiß ich nicht - mach den text halt richtig fett groß ;)

Antwort 15 von TK24

Auch gut die Idee Jaja
hat man sich ne menge arbeit gespart. Sollte allerdings schon gültig sein.

mir wäre lieber da käme ne pop up.

Es gibt doch was mit onclick oder so, und getElementById. aber wie baue ich das ein?

Antwort 16 von Jaja

javascript tutorial - gleich das erste beispiel ist ein pop up.

denk dran: nicht jeder browser dieser welt hat javascrip an bord und manche (wie ich mit noscript) haben es standardmäßig deaktiviert! diesen fall musst du abfangen und nicht ie viele schlechte seiten ignorieren, die dann einfach nicht richtig zu funktionieren scheinen.

Antwort 17 von son_quatsch

Ich hätte hier mal eine saubere Lösung, die auch Browser berücksichtigt, die kein JavaScript aktiviert haben. Nochmal zum Verständnis: ohne JavaScript gibt es auch keine Popups / Meldungen / Hinweise usw.


<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head>
	<title>frage</title>
	<script type="text/javascript">
		function pruefe() {
			if ( document.getElementById( 'rb1' ).checked ) {
				alert( 'Du musst zustimmen!' );
				return false;
			} else return true;
		}
	</script>
</head><body>
	<form onsubmit="return pruefe();" action="die_auswertungsseite.php">
		<label for="agb">Unsere AGBs:</label><br />
		<textarea rows="5" cols="40" id="agb">Folgende Sachen gelten:

1. Denken
2. Reden</textarea><br />
		<input type="radio" name="zustimmen" id="rb1" value="0" disabled="disabled" /><label for="rb1">Nein Danke</label><br />
		<input type="radio" name="zustimmen" id="rb2" value="1" checked="checked" /><label for="rb2">Ich stimme zu</label><br />
		<input type="submit" value="Weiter" />
	</form>
	<script type="text/javascript">
		var e= document.getElementById( 'rb1' );
		e.disabled= false;
		e.checked= true;
	</script>
</body></html>


Antwort 18 von katy

Hallo son_quatsch,

ich vermute mal, dass dir klar ist, dass bei deinem Entwurf die AGB editierbar wären? Das wäre also ein leichtes denen zuzustimmen, ich könnte sie mir ja vorher für mich passend umschreiben.

Zur Usability lässt sich sagen, dass es einfach üblich ist ein Häkchen in einer einsamen Checkbox zu machen anstatt Radiobutton zu verwenden. Warum also hier etwas neues erfinden? Der Fall, dass jemand nicht zustimmt, interessiert doch auch gar nicht.

Hallo TK24,

wie schon angedeutet brauchst du definitiv mindestens eine serverseitige Prüfung, jegliches JavaScript kann nur zusätzlich sein.

Generell möchte ich dir aber nur folgenden Tipp geben:
Du willst eine profimäßige Seite aufziehen, sonst wären AGB ja überflüssig. Bitte lass dich fachkundig beraten und lass die Seite von Fachmenschen schreiben. Schlechtere Werbung als eine stümperhafte Homepage ist kaum möglich ("Wenn die nicht mal eine vernünftige Seite hinkriegen möchte ich lieber nicht wissen, wie deren Kompetenz in anderen Bereichen ist ...")

katy

Antwort 19 von TK24

Katy

kannst du mir mal erklären wieso die AGBs editierbar wären?

Antwort 20 von katy

Weil son_quatsch sie in eine textarea gestellt hat!

Antwort 21 von son_quatsch

@Katy:
Zitat:
ch vermute mal, dass dir klar ist, dass bei deinem Entwurf die AGB editierbar wären? Das wäre also ein leichtes denen zuzustimmen, ich könnte sie mir ja vorher für mich passend umschreiben.
Ein Flüchtigkeitsfehler, der sich mit dem Attribut readonly="readonly" im textarea-Tag beheben lässt.
Zitat:
Zur Usability lässt sich sagen, dass es einfach üblich ist ein Häkchen in einer einsamen Checkbox zu machen anstatt Radiobutton zu verwenden.
Zur Verteidigung lässt sich sagen, dass ich die Ausgangssituation von TK24 aufgegriffen habe, in der es zwei Radiobuttons sind. Warum wird mir das dann als "Fehler" angekreidet?
Zitat:
Der Fall, dass jemand nicht zustimmt, interessiert doch auch gar nicht.
Effektiv ist eine Checkbox auch nichts anderes als zwei Radiobuttons, von denen einer vorbelegt ist.
Zitat:
wie schon angedeutet brauchst du definitiv mindestens eine serverseitige Prüfung, jegliches JavaScript kann nur zusätzlich sein.
Sehe ich genauso. Schließlich und endlich ging es aber auch um diese Aussage von TK24:
Zitat:
(TK24) mir wäre lieber da käme ne pop up.
Und für die hab ich eine beispielhafte Lösung vorgestellt.

@TK24:
Bitte
		<textarea rows="5" cols="40" id="agb">Folgende Sachen gelten:
gegen das hier austauschen:
		<textarea rows="5" cols="40" readonly="readonly" id="agb">Folgende Sachen gelten:


Antwort 22 von katy

@son_quatsch:
warum nimmst du nicht einfach etwas anderes als ausgerechnet ein Formularelement zur Anzeige unveränderbarer Texte? Darauf wollte ich eigentlich nämlich hinaus. Ein einfaches DIV täte es schon. Wenn unbedingt ein Scrollbalken darin sein soll und ein Rahmen drumherum gibt es über entsprechende CSS-Eigenschaften genug Möglichkeiten.

katy

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: