Pregunta sobre Checkboxes y botones Submit

Pregunta sobre Checkboxes y botones Submit

de Victor Martin -
Número de respuestas: 10
Hola a todos, estoy desarrollando un modulo para moodle, y tengo una seria duda: Tengo declarados una serie de checkboxes (advcheckboxes para ser mas exactos) y un boton submit, al final. Pero no se como se utiliza el submit y los checkboxes para hacer que cuando pulse el boton submit, me traiga información a una tabla sólo de las personas que se han marcado. os dejo una imagen de lo q pretendo. pantallazoyi.png Como puedo hacerlo? GRACIAS
Promedio de valoraciones: -
En respuesta a Victor Martin

Re: Pregunta sobre Checkboxes y botones Submit

de Xavier Paz -

¿Estás usando un formulario de Moodle o uno hecho a mano por ti?

En respuesta a Xavier Paz

Re: Pregunta sobre Checkboxes y botones Submit

de Victor Martin -
Lo hago como una extension de un moodleform

#######################################

<?php

if (!defined('MOODLE_INTERNAL')) {

die('Direct access to this script is forbidden.'); /// It must be included from a Moodle page

}

require_once($CFG->libdir.'/formslib.php');

// require_once($CFG->dirroot.'/user/profile/lib.php');

class khronos_tutor_form extends moodleform {

...

#######################################
En respuesta a Victor Martin

Re: Pregunta sobre Checkboxes y botones Submit

de Xavier Paz -

Un truco es nombrar los checkboxes de forma consecutiva, usando el id de usuario, por ejemplo (user10, user11, user12, etc...) para después poder recuperarlos mediante optional_param(), generando el nombre del parámetro a recuperar de forma automática.

En respuesta a Xavier Paz

Re: Pregunta sobre Checkboxes y botones Submit

de Victor Martin -
Un momento que me pierdo :S Te muestro lo que tengo del codigo y me dices que deberia cambiar, porque los checkboxes los creo de pasada en pasada, veras.

$range_ids = get_recordset_sql('SELECT student, firstname, lastname FROM '. $CFG->prefix .'khronos_activity ka, '. $CFG->prefix .'user user WHERE ka.student = user.id AND ka.khronosid = '.$this->_khronos->id);

while ($one_id = rs_fetch_next_record($range_ids)) {

$mform->addElement('advcheckbox', 'khronos', "". $one_id->lastname .", ". $one_id->firstname . "",null, array('group' => 1), array(0, 1));

$i++;

}

$this->add_checkbox_controller(1,null,null);

$buttonarray=array();

$buttonarray[] = &$mform->createElement('submit', 'submitbutton', get_string('strshow','khronos'));

$mform->addGroup($buttonarray, 'buttonar', '', array(' '), false);

$table->head = array (get_string('khronosid', 'khronos'), get_string('lastname'), get_string('firstname'));

$table->align = array ("center", "center", "right");

$table->data[] = array($range_ids);

print_table($table);

rs_close($range_ids);

Como ves, cada vez q entra al while compruebo si hay datos, si los hay creo un checkbox nuevo.
En respuesta a Victor Martin

Re: Pregunta sobre Checkboxes y botones Submit

de Alejandro Michavila Pallarés -

Hola Victor,

Existen funciones, a parte de "definition" que se definen en el archivo mod_form.php, que quizá puedan ser útiles para lo que quieres hacer:

data_preprocessing, validation, definition_after_data, get_data, add_completion_rules, completion_rule_enabled, etc ...

Puedes ver un ejemplo aquí:

http://cvs.moodle.org/moodle/mod/forum/mod_form.php?view=markup

Saludos

En respuesta a Alejandro Michavila Pallarés

Re: Pregunta sobre Checkboxes y botones Submit

de Victor Martin -
Gracias Alejandro, como encuentras esas funciones, es la experiencia? o existe algún lugar de la parte de desarrollo donde vengan explicados? porque yo solo no lo he encontrado. Gracias de nuevo
En respuesta a Victor Martin

Re: Pregunta sobre Checkboxes y botones Submit

de Alejandro Michavila Pallarés -

Hola Victor,

Las encontré simplemente curioseando, es bueno ojear el código de otros, para obtener distintas soluciones alternativas.

Saludos.

En respuesta a Alejandro Michavila Pallarés

Re: Pregunta sobre Checkboxes y botones Submit

de Victor Martin -
Si eso que dices lo he hecho, mirando el codigo de distintos modulos, pero el problema es que me exigen hacer las cosas con la API de Moodle, y la inmensa mayoria de los modulos que he ojeado mezclan directamente codigo en php bruto sin hacer uso de la API en si, con lo cual, no encuentro un modulo de referencia que diga... este me sirve perfectamente para aprender.
En respuesta a Victor Martin

Re: Pregunta sobre Checkboxes y botones Submit

de Alejandro Michavila Pallarés -

Lo mejor es ojear varios y sacar lo que te interese de cada uno. Yo te recomendaría que siempre que puedas hagas uso del API de Moodle, ya que así tu módulo podrá ser compatible para futuras versiones de Moodle.