elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Multiple choice dinamico con javascript
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Multiple choice dinamico con javascript  (Leído 4,206 veces)
astinx

Desconectado Desconectado

Mensajes: 111



Ver Perfil
Multiple choice dinamico con javascript
« en: 23 Octubre 2011, 17:47 pm »

Hola, estoy haciendo una pagina web donde necesito permitirle al usuario crear preguntas multiple choice para luego guardarlas en una base de datos.

Osea la idea es que el usuario ingresa el nombre de la pregunta, luego en un combo box ingresa la cantidad de respuestas, al ingresar la cantidad de respuestas aparecen debajo un grupo de choosers cada uno con un check box a la derecha para indicar cual de todas es la respuesta correcta y una casilla de texto para indicar la respuesta, debajo de todo esto debe tener un boton "Agregar otra pregunta" que hace que se habilite otra casilla de texto, debajo de esta, para ingresar otra pregunta y así sucesivamente.

Obviamente no les pido el código de un javascript así  :xD, nada mas quisiera saber si se puede implementar esto con javascript, porque pese a que he estado leyendo bastante y buscando no he encontrado ningún ejemplo similar o una idea para la resolución de mi problema.

Si alguno tiene un código vagamente parecido, se de una idea mas o menos de como hacerlo, o conoce alguna fuente puntual donde pueda encontrar información, se lo agradecería un montón.

Desde ya, gracias por detenerse a leer.


En línea

La programación hoy en día es una carrera entre los ingenieros de software intentando construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De momento, el Universo está ganando
Mr. Crowley


Desconectado Desconectado

Mensajes: 343


Costa Rica


Ver Perfil WWW
Re: Multiple choice dinamico con javascript
« Respuesta #1 en: 28 Octubre 2011, 06:40 am »

Hola, hice un ejemplo algo rápido usando JQuery. Sólo lo probé en Opera.

Código
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. </head>
  3. <div id="divPreguntas">
  4. <!-- aqui se van a colocar las preguntas -->
  5. </div>
  6. <input type="button" id="btnAgregar" value="Agregar una pregunta">
  7. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
  8. var iPregunta=0;
  9. $(document).ready(function(){
  10. $('#btnAgregar').click(function(){
  11. //le pedimos la cantidad de respuestas al usuario
  12. var iCantidad_Respuestas=prompt('Por favor, digite la cantidad de respuestas:',3)
  13.  
  14. if(iCantidad_Respuestas!=null && iCantidad_Respuestas>0){
  15. iPregunta++; //aumentamos el numero de pregunta (para los IDs)
  16. var strPregunta; //aqui se almacena la plantilla de la pregunta
  17.  
  18. strPregunta='<form id="frmPregunta_'+iPregunta+'">'+
  19. '<fieldset><legend>Pregunta #'+iPregunta+'</legend>'+
  20. '<strong>Descripci&oacute;n:</strong><br>'+
  21. '<input type="text" id="txtPregunta_'+iPregunta+'" size="100">'+
  22. '<br><strong>Respuestas:</strong><br>';
  23.  
  24. //aqui se agregan los radios/text para las respuestas
  25. for(var iCont=1;iCont<=iCantidad_Respuestas;iCont++){
  26. strPregunta+='<input type="radio" id="radRespuesta_'+iPregunta+
  27. '" name="radRespuesta'+iPregunta+'" checked><input type="text" '+
  28. 'id="txtRespuesta_'+iPregunta+'"><br>';
  29. }
  30.  
  31. strPregunta+='</fieldset></form>';
  32.  
  33. //agregamos la nueva pregunta (con todo y respuestas) a la capa divPreguntas
  34. $('#divPreguntas').append(strPregunta);
  35. }else{
  36. //no pasa nada
  37. }
  38. });
  39. });
  40. </script>
  41. </body>
  42. </html>
  43.  

Explicación rápida (jejejeje):

1. En el documento hay una capa llamada divPreguntas, en ella es donde se van a agregar todas las preguntas que el usuario genere.
2. Por medio del botón btnAgregar se agregan las preguntas a dicha capa.
3. El código javascript genera las preguntas, con la cantidad de respuestas que el usuario indique (para eso el prompt).

En realidad es simple, se almacena en una variable una especie de "template" del form que va a contener las respuestas, con sus campos y todo. Para agregar las respuestas nada más se recorre de 1 a X (cantidad de respuestas indicada por el usuario) y se concatena a la variable que contiene el "template".

Al final se agrega el contenido de la variable strPregunta (código HTML) a la capa divPreguntas.

OJO: la variable iPregunta definida al principio, se utiliza para llevar el conteo de cuántas preguntas existen en el documento. De esta forma se le asignan IDs distintos a los elementos creados. Ahora lo único que le faltaría es recorrer los forms con sus respectivos campos.

Espero le sirva. Saludos desde Costa rica ;)

Edito: lo hice con radios porque se supone que sólo una respuesta es la correcta. El checkbox en este caso no sería de mucha utilidad, ya que se podrían marcar varias o todas las respuestas como correctas.


« Última modificación: 28 Octubre 2011, 06:42 am por Mr. Crowley » En línea

Mi blog personal: www.calirojas.com
astinx

Desconectado Desconectado

Mensajes: 111



Ver Perfil
Re: Multiple choice dinamico con javascript
« Respuesta #2 en: 29 Octubre 2011, 05:49 am »

¡Buenisimo!.
 
Al final era relativamente facil (lo digo porque lo entendí por la manera en la que me lo explicaste), creo que esto deja descubierta mi poca experiencia de javascript  :xD  :-[

Muchas gracias! Saludos!
En línea

La programación hoy en día es una carrera entre los ingenieros de software intentando construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De momento, el Universo está ganando
Mr. Crowley


Desconectado Desconectado

Mensajes: 343


Costa Rica


Ver Perfil WWW
Re: Multiple choice dinamico con javascript
« Respuesta #3 en: 29 Octubre 2011, 18:27 pm »

Sí, claro; estaba sencillo ;)
Sería interesante darle al usuario la opción de eliminar una pregunta. Es decir,
si agrega un form (con el código anterior) y luego se arrepiente, entonces que
pueda removerlo.

Saludos :P
En línea

Mi blog personal: www.calirojas.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con choice
Scripting
asdexiva 4 2,477 Último mensaje 17 Junio 2013, 00:05 am
por Eleкtro
[javascript] Asignar un valor dinamico a un atributo
Desarrollo Web
erest0r 3 2,666 Último mensaje 16 Noviembre 2014, 02:17 am
por erest0r
(Consulta) Problema con rand en C - Problema de multiple Choice
Programación C/C++
palacio29 3 2,571 Último mensaje 20 Julio 2016, 18:38 pm
por palacio29
(Consulta) Ejercicios de Multiple Choice en C - Faciles
Programación C/C++
palacio29 2 1,763 Último mensaje 22 Julio 2016, 01:47 am
por palacio29
(Consulta) Problema con rand en C - Problema de multiple Choice
Programación C/C++
palacio29 1 2,325 Último mensaje 25 Julio 2016, 17:54 pm
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines