Volevo provare a validare una form attraverso javascript. Ma ho trovato due problemi. Il primo è che non riesco a leggere il valore dei campi della form con javascript (cioè quello che ho provato a fare non funziona) e il secondo problema è che mi chiama in ogni caso l' hook validate che io vorrei chiamasse solo se passa il test javascript.
Se qualcuno sa darmi qualche consiglio mi renderebbe felice.
<?php
function controlloform_crea()
{ //creo la form e provo ad inserire il codice javascript
drupal_add_js( 'function prova(){a=document.getElementById("eta").value; alert(a) ;
}' , 'inline' );
// creazione del campo di testo
$form['eta'] = array
(
'#type' => 'textfield',
'#title' => t('eta'),
'#size' => 50,
'#maxlengh' => 255,
'#description' => t('scrivi l\' eta'),
'#attributes' => array( 'id' => "eta"), //vorrei dare a questo campo id=eta
);
//creazione del bottone
$form['invia'] = array(
'#type' => 'button',
'#value' => t('invia'),
'#attributes' => array( 'onClick' => "prova();"),
);
return $form;
}
function controlloform_prima(){
$sb = drupal_get_form('controlloform_crea');
return $sb;
}
//CREO IL MENU
function controlloform_menu()
{
$items = array();
$items['controlloform'] = array(
'title' => 'Esempio di form con controllo',
'page callback' => 'controlloform_prima',
'access arguments' => array('permessi controlloform'),
'type' => MENU_CALLBACK
);
////////////////////AGGIUNTO///////
$items['controlloform_risposta'] = array(
'title' => 'prova risposta',
'page callback' => '',
'access arguments' => array('permessi controlloform'),
'type' => MENU_CALLBACK
);
//////////////////////////////////////
return $items ;
}
//hook validate
function controlloform_crea_validate($form,&$form_state)
{
$form_values = $form_state['values'];