Validierung Array

Migelinho

Mitglied
Hi

Habe ein Problem mit der Valiedierung von mehreren Felder die aus einem Array stammen. Siehe Bsp.

PHP:
$dat_a = array ("49a","50a","51a","52a","53a","54a","55a","56a");

$dat_b = array ("49b","50b","51b","52b","53b","54b","55b","56b");

	// *** session ***
	require('connect.php');
	require('sessionfunctions.php');
	// *** end session ***
	
require_once('Connections/conn_wm.php'); ?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Tipp 1/8 Finalspiele</title>
 
<link href=<?php echo 'stylesheet.css'; ?> rel='stylesheet' type='text/css' media='screen'>


<style type="text/css">
<!-- 
 BODY { 
           scrollbar-base-color:#eeeeee; 
           scrollbar-track-color:#AD0021; 
           scrollbar-arrow-color:#bbbbbb; 
                   scrollbar-3dlight-color:#eeeeee; 
                   scrollbar-darkshadow-color: #eeeeee; 
                   scrollbar-highlight-color: #bbbbbb; 
                   scrollbar-shadow-color: #bbbbbb; 
                   scrollbar-face-color: #eeeeee;
           background-color: #AD0021;} 
//.Stil1 {color: #A3B2CC}
.Stil1 {
	font-family: Verdana;
	font-size: 12px;
}
--> 
</style>
<script type="text/JavaScript">
<!--

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>


<body>
<form action="<?php echo $editFormAction; ?>" name= "form1" method="POST">
  <table border="0" cellspacing="2" cellpadding="3"> 
		<tr class="table_rangliste">
		<th width="20" scope="col">&nbsp;</th>
		<th width="80" scope="col"><u>Datum</u></th>
        <th width="50" scope="col"><u>Runde</u></th>
        <th colspan="3" scope="col"><div align="center"><u>Partien</u></div></th>
		<th colspan="3" scope="col"><u>Tipp</u></th>
        <th width="90" scope="col"><u>Ort</u></th></tr>
<?php
for ($i=0; $i<$number; $i++) 
       { 
     $id = mysql_result($result, $i, "spiele_id"); 
     $date = mysql_result($result, $i, "datum"); 
     $bezeichnung = mysql_result($result, $i, "bezeichnung"); 
     $team1 = mysql_result($result, $i, "Team1"); 
	 $team2 = mysql_result($result, $i, "Team2");
	 //$goalteam1 = mysql_result($result, $i, $dat_a);
	 //$goalteam2 = mysql_result($result, $i, "GoalTeam2");
	 //$stadion = mysql_result($result, $i, "stadion");
	 $name = mysql_result($result, $i, "name");
	 
?>
      <tr class="table_rangliste">
	  		<td><?php echo $id; ?> </td>
            <td><?php echo $date; ?></td>
            <td><?php echo $bezeichnung; ?></td>
            <td width="100" align="right"><strong><?php echo $team1; ?></strong></td>
			<td width="10"><div align="center"><strong>:</strong></div></td>
			<td><strong><?php echo $team2; ?></strong></td>
			<td width="10" height="25" align="center">
        		<input name=<?php echo $dat_a[$i]; ?> type="text" id=<?php echo $dat_a; ?> size="1" maxlength="2"></td> 	
				<td width="10"><strong>:</strong> </td>
			<td width="10" height="25" align="center"> 
        		<input name= <?php echo $dat_b[$i]; ?> type="text" id=<?php echo $dat_b; ?> size="1" maxlength="2"></td>
			<td align="center"><div align="center"><?php echo $name; ?></div></td> 
<?php
	if($i%1==0){ 
   echo "</tr><tr class=\"table_rangliste\">";
}

}
?>
</tr>
  <tr valign="middle" class="table_rangliste">
    <th width="20" height="25" scope="row">&nbsp;</th>
    <td height="25" colspan="3"><div align="center"><a href="tipp_alle.php" target="_top">Zur&uuml;ck zur Hauptseite</a> </div>      
	<div align="center"></div><div align="center"></div></td>
    <td height="25"><div align="center"> </div></td>
    <td width="90" height="25"><div align="center"></div></td>
	<td colspan="4">
	  <div align="left">
	    <input name="Submit" type="submit" onClick="MM_validateForm('<?php echo $dat_a; ?>','','R','<?php echo $dat_b; ?>','','R');return document.MM_returnValue" value="Senden">
	      </div>	  </td>
	</tr>
</table>

<input type="hidden" name="MM_insert" value="form1">
</form>
</body>
</html>


Das Problem ist sehr warscheinlich, dass die Werte $dat_a und $dat_b aus einem Array stammen und MM_validateForm ein Problem damit hat.

Wenn ich die Werte einzeln aufführen würde (pro Variable 1 Wert) dann geht's

Kann mir jemand weiterhelfen?
 
Vielleicht hab ich mein Problem nicht genau beschrieben:

Ich möchte gerne eine Validierung über eine Formular der wiederkehrende Felder beinhaltet (erstellt mit einer Schlaufe) machen.

Mit "Formular überprüfen" im Dreamweaver ist das nicht möglich, da es nicht Validieren kann wenn es nicht physische felder sind.

Kennt sich da jemand aus?
 
Zurück