Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/03/2006, 20:52
acarrascov
 
Fecha de Ingreso: mayo-2004
Ubicación: Bolivia
Mensajes: 48
Antigüedad: 20 años
Puntos: 2
Procesar un formulario que marca todos los checkbox

Tengo un formulario que consiste basicamente en una larga lista de checkbox.

El formulario tiene incorporado un script java (hecho en dreamweaver) que me da la opcion de marcar y desmarcar todos los checkbox.

El problema es a la hora de procesar el formulario, pues todos los campos checkbox deben tener el mismo nombre para procesar el formulario, pero no se como tomar los valores de los campos y procesarlos.

Usualmente yo proceso los formularios en php con <? if (!$HTTP_POST_VARS){ .... etc.

Pido su ayuda para ello.

Transcribo una version muy resumida del formulario.

<HTML>
<HEAD>
<TITLE>Registro</TITLE>
<SCRIPT language="JavaScript" type="text/javascript">
<!--
<!-- Begin
function checkAll(field) {
for (i = 0; i < field.length; i++)
field[i].checked = true;
}

function uncheckAll(field) {
for (i = 0; i < field.length; i++)
field[i].checked = false;
}
// End -->

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_valida teForm.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>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></HEAD>

<BODY>
<p>&nbsp;</p>
<form action="proceso.php" method=post enctype="multipart/form-data" name=form0 id="form0">
<p>Formulario Necesario </p>
<p><input name="list1" type="checkbox" id="01" value="1" checked>Opcion 1</p>
<p><input name="list1" type="checkbox" id="02" value="2" checked>Opcion 2</p>
<p><input name="list1" type="checkbox" id="03" value="2" checked>Opcion 3</p>
<input name="on" type="button" id="on" value="Todas" onClick="checkAll(document.form0.list1)">
<input name="off" type="button" id="off" value="Ninguna" onClick="uncheckAll(document.form0.list1)">
</p>
<p><input name="Submit" type="submit" class="texto" value="Enviar">
</p>
</form>
<?
if (!$HTTP_POST_VARS){
?>
<br>
</body>
</html>