Hi for all,
Hoy tengo un evento mas o menos.
tengo que leer elementos de formulario que estén dentro de una tabla,,, o div,,,
Miren tengo un check que marca y desmarca todos los check dentro de un formulario,,, ok?
Luego tuve que separar check en grupos y cada grupo tiene un check que marca y desmarca.
para marcar y desmarcar todos los check utilizo una funcion javascript que me lee todos los check dentro de un formulario y asi los marca y los desmarca,,,
Entonces el problema es que al momento de apretar uno de los check que marcan y desmarcan, se marcan todos los grupos y quiero que se marquen los check de un solo grupo.
bueno los separe por formularios cada grupo y queda perfect. pero esto me genera otro problema,,, que al momento de grabar todos los checks seleccionados no me graba nada,,, ya que el formulario de grabado esta asi.
cachan? puxa no redacte bien la wea pero espero que entiendan y me ayuden.
consultas las respondo en un abrir y cerrar de ojos
SOLUCIÓN: ----------------------------------------------
creo automaticamente una función por grupo y creo variables dependiendo las cantidades de actividades de ese grupo.
Hoy tengo un evento mas o menos.
tengo que leer elementos de formulario que estén dentro de una tabla,,, o div,,,
Miren tengo un check que marca y desmarca todos los check dentro de un formulario,,, ok?
Luego tuve que separar check en grupos y cada grupo tiene un check que marca y desmarca.
para marcar y desmarcar todos los check utilizo una funcion javascript que me lee todos los check dentro de un formulario y asi los marca y los desmarca,,,
Código:
function selydestodos(form,activa){
if(activa==true){
for(i=0;i<form.elements.length;i++){
if(form.elements[i].type=="checkbox"){
form.elements[i].checked=true;
document.getElementById('cbxnosepresenta').checked=false;
<!--document.getElementById('cbxsinagenda').checked=false;-->
}
if(form.elements[i].type == "text"){
if(document.getElementById("txt_run")==form.elements[i] ||
document.getElementById("txt_nombre")==form.elements[i] ||
document.getElementById("txt_sexo")==form.elements[i] ||
document.getElementById("txt_edad")==form.elements[i]){
}else{
form.elements[i].value="1";
form.elements[i].style.backgroundColor="#ffffff";
form.elements[i].disabled=false;
}
}
}
}
if(activa==false){
for(i=0;i<form.elements.length;i++){
if(form.elements[i].type=="checkbox"){
form.elements[i].checked=false;
}
if(form.elements[i].type == "text"){
if(document.getElementById("txt_run")==form.elements[i] ||
document.getElementById("txt_nombre")==form.elements[i] ||
document.getElementById("txt_sexo")==form.elements[i] ||
document.getElementById("txt_edad")==form.elements[i]){
}else{
form.elements[i].value="0";
form.elements[i].style.backgroundColor="#eeeeee";
form.elements[i].disabled=true;
}
}
}
}
}
Entonces el problema es que al momento de apretar uno de los check que marcan y desmarcan, se marcan todos los grupos y quiero que se marquen los check de un solo grupo.
bueno los separe por formularios cada grupo y queda perfect. pero esto me genera otro problema,,, que al momento de grabar todos los checks seleccionados no me graba nada,,, ya que el formulario de grabado esta asi.
Código:
<form name="formulario.de.grabado">
<form name="grupo.1">
</form>
<form name="grupo.2">
</form>
<form name="grupo.3">
</form>
</form>
cachan? puxa no redacte bien la wea pero espero que entiendan y me ayuden.
consultas las respondo en un abrir y cerrar de ojos
SOLUCIÓN: ----------------------------------------------
creo automaticamente una función por grupo y creo variables dependiendo las cantidades de actividades de ese grupo.
Código:
<script>
function selydestodosunoauno<? echo $f1["cg"]; ?>(form,activa){
if(activa==true){
for(i=0;i<form.elements.length;i++){
if(form.elements[i].type=="checkbox"){
<? foreach($m2 as $f2){ echo "document.getElementById('chk".$f2['codact']."').checked=true;"; }?>
document.getElementById('cbxnosepresenta').checked=false;
}
if(form.elements[i].type == "text"){
if(document.getElementById("txt_run")==form.elements[i] ||
document.getElementById("txt_nombre")==form.elements[i] ||
document.getElementById("txt_sexo")==form.elements[i] ||
document.getElementById("txt_edad")==form.elements[i]){
}else{
<? foreach($m2 as $f2){ echo "document.getElementById('txt".$f2['codact']."').value=\"1\";"; }?>
<? foreach($m2 as $f2){ echo "document.getElementById('txt".$f2['codact']."').style.backgroundColor=\"#ffffff\";"; }?>
<? foreach($m2 as $f2){ echo "document.getElementById('txt".$f2['codact']."').disabled=false;"; }?>
}
}
}
}
if(activa==false){
for(i=0;i<form.elements.length;i++){
if(form.elements[i].type=="checkbox"){
<? foreach($m2 as $f2){ echo "document.getElementById('chk".$f2['codact']."').checked=false;"; }?>
}
if(form.elements[i].type == "text"){
if(document.getElementById("txt_run")==form.elements[i] ||
document.getElementById("txt_nombre")==form.elements[i] ||
document.getElementById("txt_sexo")==form.elements[i] ||
document.getElementById("txt_edad")==form.elements[i]){
}else{
<? foreach($m2 as $f2){ echo "document.getElementById('txt".$f2['codact']."').value=\"0\";"; }?>
<? foreach($m2 as $f2){ echo "document.getElementById('txt".$f2['codact']."').style.backgroundColor=\"#eeeeee\";"; }?>
<? foreach($m2 as $f2){ echo "document.getElementById('txt".$f2['codact']."').disabled=true;"; }?>
}
}
}
}
}
</script>
Última edición:

