• ComputerBase erhält eine Provision für Käufe über eBay-Links.

Formular bestätigungs Checkbox

Timo

Ensign
Registriert
Jan. 2002
Beiträge
252
Hallo Leute,
ich versuche in meinem Formular, eine Checkbox einzubauen, die man erst anklicken muss, bevor man das Formular absenden kann.
Weiss nicht mehr weiter. Kann mir jemand helfen?
Entweder das man eine Popup Mitteilung erhält, das in dem staht das man das feld bestätigen muss (Wie es im Beispiel auch mit dem Namen und Vornamen funktioniert),
oder das die Option: "Formular senden" erst erscheint, wenn man die Checkbox geklickt hat.

Vielen Dank...
____________________________________________
Hier der Quelltext:
<html>
<head>
<style type="text/css">
<!--
#tex { font-face: Verdana; color: #000000; width: 80px; font-size: 11px; background-color:#ededf5;}
//-->
</style>
<script language="JavaScript">
function CheckFelder_k() {
var ok= true;

if (document.Formular_k.FELD_Name.value == ""){
alert("Bitte geben Sie den Namen ein.");
document.Formular_k.FELD_Name.focus();
ok= false;
}
if (document.Formular_k.FELD_Vorname.value == ""){
alert("Bitte geben Sie den Vornamen ein.");
document.Formular_k.FELD_Vorname.focus();
ok= false;
}

if (ok){document.Formular_k.submit();}
}
</script>
</head>
<body>
<table border=1 width="100%">
<tr>
<td valign=top>
<p>Formular:</p></td>
</tr>
<tr>
<td valign=top>
<p>&nbsp;</p></td>
</tr>
<tr>
<td valign=top>
<form action="http://www.test.de/cgi-bin/mail/form_mail.pl" method=post NAME="Formular_k">
<input type=hidden name="NaechsteSeite" value="http://www.ebay.de">
<input type=hidden name="AnMailSenden" value="teltim@gmx.de">
<input type=hidden name="MailAbsender" value="Formular via Web">
<input type=hidden name="MailBetreff" value="Formular">
<table border=0 align=left cellspacing=0 cellpadding=0>
<tr>
<td valign=top>
<p>Name:</p></td>
<td valign=top>
<p><input type=text name="FELD_Name" ID="inpu"></p></td>
</tr>
<tr>
<td valign=top>
<p>Vorname:</p></td>
<td valign=top>
<p><input type=text name="FELD_Vorname" ID="inpu"></p></td>
</tr>
<tr>
<td valign=top>
<p>&nbsp;</p></td>
<td valign=top></td>
</tr>
<tr>
<td valign=top>
<p><input type=checkbox name="einverstanden" value="1"></p></td>
<td valign=top>
<p>Bin einverstanden</p></td>
</tr>
<tr>
<td valign=top>
<p>&nbsp;</p></td>
<td valign=top></td>
</tr>
<tr>
<td align=left valign=top height=16></td>
<td align=left valign=top>
<p><b><a href="javascript:CheckFelder_k();">Anmeldeformular senden &raquo;</a></b></p></td>
</tr>
</table>
<p></p>
</form></td>
</tr>
<tr>
<td valign=top></td>
</tr>
</table>
</body>
</html>
 
bei dem Checkbox Element noch die ID ergänzen und dann in deiner Javascript Funktion so abfragen:

Code:
if (document.Formular_k.einverstanden.checked == true)
{
  //Form abschicken
}
else
{
  alert('Bitte bestätigen Sie unsere AGB gelesen zu haben');
}
oder

Code:
if (document.getElementById('einverstanden').checked == true)
{
  //Form abschicken
}
else
{
  alert('Bitte bestätigen Sie unsere AGB gelesen zu haben');
}
btw Tabellen als Layout missbrauchen ist vor 10 Jahren aktuell gewesen.
 
Zuletzt bearbeitet:
Vielen Dank Lawnmower für deine schnelle Antwort.
Kannst du kurz erläutern was du mit: btw Tabellen als Layout missbrauchen ist...
danke
 
Lawnmower schrieb:
[...]btw Tabellen als Layout missbrauchen ist vor 10 Jahren aktuell gewesen.

also vom ding her hast du recht.
Und Timo für dich als Erklärung:
Tabellen sind reichlich unynamisch und sollten wirklich nur zum anzeigen von tabellarischem Inhalt dienen. Stattdessen positioniert man heutzutage mit dem <div> tag und benutzt CSS.
Ein DIV kann sich z.b. auch wie eine table-cell (display: table-cell; (css)) ;)

allerdings finde ich es vollkommen legitim ein formular in eine Tablle einzubinden, da braucht man nämlich fast keine dynamik.

Lass dir da nicht reinreden ;)
 
allerdings finde ich es vollkommen legitim ein formular in eine Tablle einzubinden, da braucht man nämlich fast keine dynamik.
stimmt so nicht. Wenn man Aspekte wie Barrierefreiheit und so berücksichtigen will (und sollte) dann sind Tabellen ausser für tabellarische Inhalte ein absolutes No-Go.
Ein zeitgemässes Formular wird ohne Tabelle aufgebaut, stattdessen verwendet man wie Du schon ausführst Div, besser p Elemente sowie für die Bezeichner label.

du benutzt Tabellen für Layoutzwecke (also um dein Formular darzustellen / auszurichten / strukturieren).
Attribute wie align=left valign=top height=16 werden heutzutage 1. mit CSS gesteuert und 2. kommen da für den Wert noch "" dazwischen.
Zu diesem Thema findet sich im Internet aber genug Lesestoff.
Nicht mehr ganz topaktuell aber trotzdem ein guter "Update" wäre zum Beispiel hier nachzulesen: http://little-boxes.de/lb1/9.6.1-schritt-1-das-formular-im-html-quelltext.html
 
Zuletzt bearbeitet:
Zurück
Oben