Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Drupal »

valor formulario

Estas en el tema de valor formulario en el foro de Drupal en Foros del Web. Hola! He creado un formulario que tiene 2 fieldtext y un submit, lo que me gustaría hacer y que no consigo es obtener el valor ...
  #1 (permalink)  
Antiguo 23/09/2011, 09:36
 
Fecha de Ingreso: enero-2011
Mensajes: 21
Antigüedad: 13 años, 10 meses
Puntos: 0
valor formulario

Hola!

He creado un formulario que tiene 2 fieldtext y un submit, lo que me gustaría hacer y que no consigo es obtener el valor de dichos campos despues de apretar el boton submit y guardarlos vada uno en una variable.

Llevo rato intentandolo y buscando pero no hay manera

este es mi formulario
Código PHP:
function xmlLoader_admin_import() {

    
$form['load'] = array(
        
'#type' => 'fieldset',
        
'#title' => t('Load file'),
        
'#collapsible' => FALSE,
        
'#collapsed' => FALSE,
        
'#tree' => TRUE,
        
'#prefix' => t('<p>RDFme allows to load a RDF file</p>'),
    );
    
    
$form['load']['skills'] = array(
        
'#type' => 'textfield',
        
'#title' => t('Skills URL'),
       
'#size' => 30,
        
'#description' => t('URL skills file'),
     );

    
$form['load']['talents'] = array(
        
'#type' => 'textfield',
        
'#title' => t('Talents URL'),
       
'#size' => 30,
        
'#description' => t('URL talents file'),
     );

    
$form['load']['submit'] = array(
         
'#type' => 'submit'
        
'#value' => t('Submit'),
       
'#weight' => 19,
    );

    return 
$form;


gracias
  #2 (permalink)  
Antiguo 23/09/2011, 10:33
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 1 mes
Puntos: 265
Respuesta: valor formulario

Tenes que agregar lo siguiente:

Código PHP:
$form["#submit"][] = "funcion_submit";

function 
funcion_submit($form, &$form_state){
    
// Codigo (Aca tenes el formulario con sus variables, hacele un dump porque no se como las muestra, pero deben aparecer los resultados)

Declaras una funcion que se ejecutara al momento de hacer submit en el formulario. De la misma forma podes agregar validadores (en "#validate").

Saludos.
  #3 (permalink)  
Antiguo 23/09/2011, 12:26
 
Fecha de Ingreso: enero-2011
Mensajes: 21
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: valor formulario

ok muchisimas gracias, no sabia como llamar a una funcion despues de apretar submit

Mi problema es que no se exactamente como acceder a esos valores, que contiene el formulario, como podria obtener lo que alguien ha escrito en el primer campo de texto y luego apreta al boton?
  #4 (permalink)  
Antiguo 23/09/2011, 13:49
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 1 mes
Puntos: 265
Respuesta: valor formulario

En la variable $form tenes los valores submitidos.....lo puse en el codigo que te escribi. No se pq me esmero tanto en responder rapido.....
  #5 (permalink)  
Antiguo 25/09/2011, 17:21
 
Fecha de Ingreso: enero-2011
Mensajes: 21
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: valor formulario

Siento ser tan pesado, pero es que no lo consigo, soy bastante duro de mollera y me cuesta.

Aunque todo se guarde en $form, no se a como acceder a los valores submitidos estoy haciendo $form['load']['skills'] para sacar el valor que meto en el primero de los textfield despues de hacer submit, lo estoy sacando con un alert para ver si me da lo que metí pero me aparece un alert vacío.

Tampoco consigo que se me ejecute la funcion al hacer submit, no sé si deberia ser así o con un ['load'] por ahí

Última edición por nohack; 25/09/2011 a las 17:28
  #6 (permalink)  
Antiguo 25/09/2011, 18:56
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años
Puntos: 890
Respuesta: valor formulario

De hecho los valores se recuperan con &$form_state si lo que quieres es darle un valor o cambiar una propiedad a cada campo usas &$form
En tu caso:

function funcion_submit(&$form, &$form_state){

print $form_state['values']['skill'];
// si le quieres dar un valor a skill unavez enviado el formulario usas form
$form['skill']['#value'] = "nuevo valor"

}
Mejor leete esto. es mas facil que andar explicando....

Saludos.
__________________
Drupal Argentina

Etiquetas: formulario
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 19:32.