“Select All” Seleccionando todos los elementos que se postean como un array
Posted on Abr 18 in General, Javascriptby adminPrint
Esta es una pequeña traduccion de un articulo que me encontre y se me hizo buena idea traducirlo y ponerlo a la dispocicion de todos.
El articulo se llama "Select All" JavaScript for Forms Posting to an Array
Bien este articulo nos explica lo siguiente:
El problema original es que al enviar nuestro formulario a un script PHP, con el fin de tener el resultado de una matriz de controles (cuando se utiliza una serie de casillas de verificación, por ejemplo), la forma más rápida de hacer esto es añadir "[]" para el nombre del elemento ( Por ejemplo 'name = "zona[]"). Luego, PHP puede acceder a $ _POST [ 'zona'] como una matriz en el script.
Pero lamentablemente, la adición de corchetes causas problemas con JavaScript, especialmente con una función "Seleccionar todo". El siguiente script funciona en torno a el uso de expresiones regulares, y puede ser útil a alguien que experimente este mismo problema más adelante.
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-
<title>Checkbox Fun</title>
-
<script type="text/javascript"><!--
-
var formblock;
-
var forminputs;
-
function prepare() {
-
formblock= document.getElementById('form_id');
-
forminputs = formblock.getElementsByTagName('input');
-
}
-
function select_all(name, value) {
-
for (i = 0; i <forminputs.length; i++) {
-
// regex here to check name attribute
-
var regex = new RegExp(name, "i");
-
if (regex.test(forminputs[i].getAttribute('name'))) {
-
if (value == '1') {
-
forminputs[i].checked = true;
-
} else {
-
forminputs[i].checked = false;
-
}
-
}
-
}
-
}
-
if (window.addEventListener) {
-
window.addEventListener("load", prepare, false);
-
} else if (window.attachEvent) {
-
window.attachEvent("onload", prepare)
-
} else if (document.getElementById) {
-
window.onload = prepare;
-
}
-
//--></script>
-
</head>
-
-
-
<form id="form_id" name="myform" method="get" action="search.php">
-
-
-
<input type="checkbox" name="area[]" value="4" />Stoats
-
-
-
-
</form>
-
-
</body>
-
</html>

