Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Comprobacion de la existencia de un elemento.

Estas en el tema de Comprobacion de la existencia de un elemento. en el foro de Frameworks JS en Foros del Web. Bueno días, a ver, os comento el problema este, tengo una funcion que me abre una ventanica con un formulario, esta basada en mootools, del ...
  #1 (permalink)  
Antiguo 09/04/2013, 00:34
 
Fecha de Ingreso: marzo-2013
Mensajes: 25
Antigüedad: 11 años
Puntos: 0
Exclamación Comprobacion de la existencia de un elemento.

Bueno días, a ver, os comento el problema este, tengo una funcion que me abre una ventanica con un formulario, esta basada en mootools, del tipo lightbox.

El formulario consta de 4 radio buttons, los dos primeros no tienen efecto - de momento, luego tendre que hacer alguna funcion para pasar los resultados a php - en las dos ultimas, tienen que abrir una lista de elementos que tambien se deben seleccionar con radio buttons (y estos elementos tambien vienen de php, pero eso es otro tema) el caso es que necesito que al pinchar en uno u en otro me abra la lista de elementos, pero que solo me la habra una vez, si se pincha primero en una luego en otra que me la mantenga y si pinchan en las de arriba me la cierre en caso de que este abierta.

Os pongo lo que tengo ahora, no tiene nada con php aun, primero quiero conseguir esto.

Código Javascript:
Ver original
  1. /*
  2. * Mootools Simple Modal
  3. * Version 1.0
  4. * Copyright (c) 2011 Marco Dell'Anna - http://www.plasm.it
  5. */
  6. window.addEvent("domready", function(e){
  7.   $$(".boton").addEvent("click", function(e){
  8.     e.stop();
  9.     var c=1;
  10.     var SM = new SimpleModal({"btn_ok":"Confirmar"});
  11.         SM.show({
  12.           "model":"confirm",
  13.           "callback": function(){
  14.             alert("Action confirm!");
  15.           },
  16.           "title":"Incidencias.",
  17.           "contents":"<form action='insert()' id='insform'>\n\
  18. <p>Vacaciones y otras ausencias: <input type='radio' name='incidencia' value='2'></p>\n\
  19. <p>Incapacidad temporal: <input type='radio' name='incidencia' value='3'></p>\n\
  20. <p>Cobertura de ausencias: <input type='radio' name='incidencia' value='4' onClick='prof()'></p>\n\
  21. <p>Cobertura de descanso post-guardia: <input type='radio' name='incidencia' value='5' onClick='prof()'></p>\n\
  22. </form>"
  23.         });
  24.   });
  25.  
  26.  
  27. });
  28.  
  29. function prof(){
  30.   if (c>0){
  31.   document.getElementById('insform').innerHTML += '<div id=prof1><hr width=75%>';
  32.   document.getElementById('insform').innerHTML += 'Lista de profesionales.';
  33.   document.getElementById('insform').innerHTML += '<p>Nombre profesional: <input type=\'radio\' name=\'cod_prof\' value=\'00\'></p><p>$centro</p></div>';
  34.   c=0;
  35.     } else {
  36.    
  37. }
  38. }


La primera funcion es la que me abre el menu flotante, y la segunda funcion es la que contiene la lista de elementos.

Gracias, un saludo !
  #2 (permalink)  
Antiguo 09/04/2013, 02:30
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Comprobacion de la existencia de un elemento.

Cuando pinches en uno de los buttons compruebas si la lista tiene una clase propia (llamemosla abierta). Si la tiene, no se hace nada. Si no la tiene, se le asigna, y si por clase no es capaz de permanecer abierta pues se abre por js.

Cuando pinches en el otro elemento, pues haces el inverso. Si está abierta se debe cerrar y quitar la clase, y si no lo está no hacer nada.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 09/04/2013, 02:58
 
Fecha de Ingreso: marzo-2013
Mensajes: 25
Antigüedad: 11 años
Puntos: 0
Respuesta: Comprobacion de la existencia de un elemento.

perfecto, es una buena logica, de hecho es la que estaba probando antes de leerlo, pero podrias ponerme un ejemplo de la sintaxis porque estoy un poco pez en esto de javascript... y ya se me puedes orientar en como pasar datos de php a js seria un puntazo, estoy trabajando con mootools, eso supondría usar una sintaxis propia del framework ?
  #4 (permalink)  
Antiguo 09/04/2013, 03:58
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Comprobacion de la existencia de un elemento.

Igual podrías meter jquery para simplificar la sintaxis (tienes que meter la libreria en tu aplicacion e importarla en el head de la pagina).
// Dado
<div id="miLista" class="abierta">Hola</div>

// La sintaxis con jquery es tan facil como esto
if ($('#miLista').hasClass('abierta')) {
$('#miLista').removeClass('abierta');
}
// o también
$('#miLista').toggleClass('abierta');
// Ambos métodos eliminan la clase abierta del div

Por otra parte en php no me manejo, lo siento.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Etiquetas: comprobacion, existencia, formulario, funcion, html, input, javascript, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:21.