Efectivamente, el código original que publiqué tenia 2 errores tipográficos, pero aparte de eso, no es muy optimo, chechando el código lo mejor es hacer algo así...
Código HTML:
Ver original <script type="text/javascript"> function getValues() {
var allvalues = '';
for(var i=0; i<document.miForm.elements.length; i++) {
if (document.miForm.elements[i].type == "checkbox") {
if (document.miForm.elements[i].checked) {
if (allvalues != '') {
allvalues = allvalues + ' ' + document.miForm.elements[i].value;
}else {
allvalues = document.miForm.elements[i].value;
}
}
}
}
if(allvalues != '') {
var oculto = document.getElementById('Idcondenv');
oculto.value = allvalues;
}
}
function checkValues() {
if (document.getElementById('Idcondenv').value == '') {
alert('Debes seleccionar al menos 1 checkbox');
return false;
}
}
<form name="miForm" method="get" action="checkbox.php" onsubmit="return checkValues();"> <input type="checkbox" value="1" /> <input type="checkbox" value="2" /> <input type="checkbox" value="3" /> <input type="checkbox" value="4" /> <input type="checkbox" value="5" /> <input type="checkbox" value="6" /> <input type="text" id="Idcondenv" name="Idcondenv" /> <input type="submit" value="Enviar" onclick="getValues()" /> <?php
if (isset($_GET['Idcondenv'])) {
$condenv = $_GET['Idcondenv'];
$condenv = explode(' ',$condenv);
echo '<pre>';
var_dump($condenv);
} ?>
Cita: Pero lo que yo quiero es que salga:
Código PHP:
Idcondenv=1%202%20
Donde entiendo que %20 son los espacios en blanco.
Sin ofender, pero criticas algo sin probarlo, el navegador por defecto codifica los espacios con el signo + (más), por lo tanto, el código generado es correcto, no hay diferencia real entre el signo + (más) y %20, si hubieras probado el código hubieras visto que funciona correctamente, incluso agrego un código PHP exactamente igual al que usas en el archivo donde vas a recoger las variables...