Problem mir Formularüberprüfung Again!

bmaas

Grünschnabel
Habe folgendes Problem.
User soll per Checkbox zwischen einer Zahlungsweise auswählen (Bankeinzug oder Kreditkarte). Eine dieser Checkboxen muss gesetzt sein.
Wenn eine gesetzt ist, so sollen die Felder unterhalb der Checkbox auf Inhalt geprüft werden.

Habe bereits einen kleinen Ansatz, der jedoch nicht funktioniert und weiss nicht mehr weiter.

Bin totaler Anfänger in Javascript, brauche es aber drinegend.

Wer kann mir helfen?
Hier der Code:


PHP:
<html>
<head>
	<title>Untitled</title>
</head>
<body>

<script type="text/javascript">
<!--
function check(form)
{
 var error = new Array();			

	if(!form.acc.checked){
			error.push("Bitte auswählen");
	}
	if(form.accname.value == ""){
		error.push("Kontounhaber fehltt");
	}	
 	if(form.accnum.value == ""){
		error.push("Kontonummer fehltt");
	}	
   	if(form.accref.value == ""){
		error.push("BLZ fehltt");
	}	
    if(form.accbank.value == ""){
		error.push("Bank fehltt");
	}
	
	if(error.length != 0){
		alert(error.join("\n"));
		return false;
		}else{return true;}
		
 }
    

//-->
</script>


<table width="483" border="0" cellpadding="0" cellspacing="0" height="829">
  <tr> 
  <td width="6" height="829">&nbsp;</td>
  <p>
  <td width="379" valign="top" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" height="829">
   <!-- --- Start: Content --- --><span id="site_content"><a name="595"></a></span><span class="headline">Registrierung</span>
  <p>
  <span id="site_content"><img src="clear.gif" width=1 height=10 border=0>
  <BR>
  <a name="594"></a> </span><span class="text"><B>Bitte legen Sie hier Ihre Zahlungsweise fest.</B></span><br>
  <span class="text">*Diese Angaben sind unbedingt erforderlich</span><span class="text">&nbsp;</span>
  <span class="text">Es stehen folgende Zahlungsarten zur Verfügung:</span><span class="text">&nbsp;</span>
  <p style="border-bottom: 1 dashed #CF2424">
  &nbsp;
  
<form action="<?=$_SERVER['PHP_SELF']; ?>" method="post" onSubmit="return check(this)">
<p align="left"><input type="checkbox" name="acc" value="ON">Bankeinzug</p>
      

<table border="0" width="100%">

   <tr>
     <td width="50%" style="background-color: #F6F6F6"><span class="text"><b>Kontoinhaber *</b></span></td>
      <td width="50%"style="background-color: #F6F6F6"><span class="text"><b>
        <input size="23" type="text" name="accname" value=""></b></span></td>
   </tr>
   <tr>
      <td width="50%"><span class="text"><b>Kontonummer *&nbsp;</b></span></td>
      <td width="50%"><span class="text"><b>
        <input size="23" type="text" name="accnum"  value=""></b></span></td>
   </tr>
   <tr>
      <td width="50%"style="background-color: #F6F6F6"><span class="text"><b>BLZ *</b></span></td>
      <td width="50%"style="background-color: #F6F6F6"><span class="text"><b>
         <input size="23" type="text" name="accref"  value=""></b></span></td>
   </tr>
   <tr>
      <td width="50%"><span class="text"><b>Bank</b></span></td>
      <td width="50%"><span class="text"><b>
        <input size="23" type="text" name="accbank"  value=""></b></span></td>
   </tr>
</table>
      
<p style="border-bottom: 1 dashed #CC0000">          
<p align="left"><input type="checkbox" name="cred" value="ON">Kreditkarte</p>
<table border="0" width="100%">
  <tr>
    <td width="50%" style="background-color: #F6F6F6"><span class="text"><b>Kreditkarte *</b></span></td>
    <td width="50%" style="background-color: #F6F6F6"><span class="text"><b>
       <select size="1" name="Kreditkarte">
          <option>Mastercard / Eurocard</option>
           <option>Visa</option>
        </select></b></span>
     </td>
   </tr>
   <tr>
     <td width="50%"><span class="text"><b>Karteninhaber *</b></span></td>
     <td width="50%"><span class="text"><b>
       <input size="23" type="text" name="credname"  value=""></b></span></td></td>
   </tr>
   <tr>
     <td width="50%" style="background-color: #F6F6F6"><span class="text"><b>Kartennummer*</b></span></td>
     <td width="50%" style="background-color: #F6F6F6"><span class="text"><b>
        <input size="23" type="text" name="crednum"  value=""></b></span></td></td>
   </tr>
   <tr>
     <td width="50%"><span class="text"><b>gültig bis * (Monat, Jahr)</b></span></td>
     <td width="50%"><span class="text"><b>
       <input size="7" type="text" name="expmon"  value=""></b></span>
       <input size="14" type="text" name="expyr"  value=""></b></span></td>
   </tr>
   <tr>
     <td width="50%" style="background-color: #F6F6F6"></td>
     <td width="50%" style="background-color: #F6F6F6"></td>
   </tr>
</table>


&nbsp;
   <p>&nbsp;</p>
   
    <p><input type="submit" value="Absenden" name="pay"></p>
   </form>
   <p>&nbsp;</p>
   <p>&nbsp;</p>
   <p>&nbsp;</p>
   <p>&nbsp;</p>
   <p>&nbsp;
</table>

</body>
</html>
 
Erstmal gewöhn dir an, den script-Teil nicht im Body, sondern im Head einzufügen, denn sonst funktioniert mal prinzipiell gar nichts.

Außerdem wäre es toll, wenn du in deinem anderen Thread Bescheid geben würdest, ob es jetzt funktioniert oder nicht! :mad:

lg D;-]c
 
Und drittens: Sätze wie "der jedoch nicht funktioniert" helfen niemandem weiter. Schreib, was genau nicht funktioniert, welche Fehlermeldungen erscheinen usw. - halt Dinge, die uns helfen könnten, dein Problem etwas einzugrenzen. Dann kann dir auch schneller geholfen werden.
 
Sorry,

erst einmal vielen Dank, das andere hat funktioniert.
Sorry, bin im Moment super im Stress, da ich an meiner Diplomarbeit sitze und gerade total die Nerven verliere und mich mit Javascript rumschlage.

Blöder Fehler. Wenn ich das Script im Head einfüge, läuft es.
Weiss jedoch nicht, wie ich prüfen kann, ob nur eine der beiden Checkboxen gesetzt ist und wenn ja, dass alle Felder darunter mit Inhalt gefüllt sind.

Kannst Du mir vielleicht weiterhelfen?

Imübrigen fände ich es schön, ein Script zu haben, das mir die leeren Felder markiert und sagt, dass diese ausgefüllt werden müssen.

Schon mal vielen Dank.
 
Da der Benutzer für gewöhnlich nur auf eine Art zahlt, verwende statt checkbox zwei radio's(mit identischem Namen)...da kann er dann nur eine von auswählen.
 

Neue Beiträge

Zurück