Napisalem sobie formularz w QuickForm w ktorym znajduje sie checkbox
formularz wyglada nastepujaco:
Kod
<?
require_once 'HTML/QuickForm.php';
$formularz = new HTML_QuickForm('formularz');
$formularz->setDefaults(
array('login' => 'Mati')
);
$formularz->addElement('header', null ,'Zgłoszenie nowego użytkownika');
$formularz->addElement('checkbox', 'check1', null, 'checkMe', null);
$formularz->addElement('text', 'login', 'Login:', null);
$formularz->addElement('password', 'password', 'Hasło (5-10 znaków) ', array('size' => 12, 'maxlength' => 10));
$formularz->addElement('password', 'repeat', 'Hasło (powtórz)', array('size' => 12, 'maxlength' => 10));
$formularz->addElement('text', 'name', 'Imie i nazwisko', null);
$formularz->addElement('text', 'mail', 'Adres e-mail', null);
$formularz->addElement('text', 'age', 'Wiek', null);
$formularz->addElement('text', 'phone', 'Telefon', null);
$formularz->addElement('select', 'prenumerata', 'Czy prenumerujesz <br /> magazyn INTERNET?:', array('Tak' => 'Tak', 'Nie' => 'nie'));
$formularz->addElement('submit', null, 'Wyslij');
//addRule($name, $msg, $option)
$formularz->addRule('login', 'Niepoprawny format pola login', 'regex', '/^[-_a-z0-9]+$/i');
$formularz->addRule('login', 'Wypełnij pole', 'required');
$formularz->addRule('password', 'Podaj haslo', 'required');
$formularz->addRule('password', 'Haslo musi miec 5-10 znakow', 'rangelength', array(5,10));
$formularz->addRule('repeat', 'Powtorz podane haslo', 'required');
$formularz->addRule(array('password','repeat'), 'Hasla musza byc takie same', 'compare');
$formularz->addRule('mail', 'Podaj adres e-mail', 'required', null, 'client');
$formularz->addRule('mail', 'Podaj poprawny adres e-mail', 'email');
$formularz->addRule('age', 'Podaj wiek', 'required', null, 'client');
$formularz->addRule('age', 'To nie moze byc Twoj wiek', 'numeric');
$formularz->addRule('name', 'Podaj imie i nazwisko', 'required', null, 'client');
$formularz->addRule('phone', 'To nie moze byc Twoj numer', 'numeric');
if($formularz->validate()){
echo '<h1> Formularz </h1>';
echo '<b> Imie i nazwisko </b>'.htmlspecialchars($formularz->exportValue('name')).'<br />';
echo '<b> Hasło </b>'.htmlspecialchars($formularz->exportValue('password')).'<br />';
echo '<b> Login </b>'.htmlspecialchars($formularz->exportValue('login')).'<br />';
echo '<b> E-mail </b>'.htmlspecialchars($formularz->exportValue('mail')).'<br />';
echo '<b> Wiek </b>'.htmlspecialchars($formularz->exportValue('age')).'<br />';
echo '<b> Czy prenumerujesz : </b>'.htmlspecialchars($formularz->exportValue('prenumerata')).'<br />';
echo '<b> Telefon </b>'.htmlspecialchars($formularz->exportValue('phone')).'<br />';
exit;
}
$formularz->display();
?>
require_once 'HTML/QuickForm.php';
$formularz = new HTML_QuickForm('formularz');
$formularz->setDefaults(
array('login' => 'Mati')
);
$formularz->addElement('header', null ,'Zgłoszenie nowego użytkownika');
$formularz->addElement('checkbox', 'check1', null, 'checkMe', null);
$formularz->addElement('text', 'login', 'Login:', null);
$formularz->addElement('password', 'password', 'Hasło (5-10 znaków) ', array('size' => 12, 'maxlength' => 10));
$formularz->addElement('password', 'repeat', 'Hasło (powtórz)', array('size' => 12, 'maxlength' => 10));
$formularz->addElement('text', 'name', 'Imie i nazwisko', null);
$formularz->addElement('text', 'mail', 'Adres e-mail', null);
$formularz->addElement('text', 'age', 'Wiek', null);
$formularz->addElement('text', 'phone', 'Telefon', null);
$formularz->addElement('select', 'prenumerata', 'Czy prenumerujesz <br /> magazyn INTERNET?:', array('Tak' => 'Tak', 'Nie' => 'nie'));
$formularz->addElement('submit', null, 'Wyslij');
//addRule($name, $msg, $option)
$formularz->addRule('login', 'Niepoprawny format pola login', 'regex', '/^[-_a-z0-9]+$/i');
$formularz->addRule('login', 'Wypełnij pole', 'required');
$formularz->addRule('password', 'Podaj haslo', 'required');
$formularz->addRule('password', 'Haslo musi miec 5-10 znakow', 'rangelength', array(5,10));
$formularz->addRule('repeat', 'Powtorz podane haslo', 'required');
$formularz->addRule(array('password','repeat'), 'Hasla musza byc takie same', 'compare');
$formularz->addRule('mail', 'Podaj adres e-mail', 'required', null, 'client');
$formularz->addRule('mail', 'Podaj poprawny adres e-mail', 'email');
$formularz->addRule('age', 'Podaj wiek', 'required', null, 'client');
$formularz->addRule('age', 'To nie moze byc Twoj wiek', 'numeric');
$formularz->addRule('name', 'Podaj imie i nazwisko', 'required', null, 'client');
$formularz->addRule('phone', 'To nie moze byc Twoj numer', 'numeric');
if($formularz->validate()){
echo '<h1> Formularz </h1>';
echo '<b> Imie i nazwisko </b>'.htmlspecialchars($formularz->exportValue('name')).'<br />';
echo '<b> Hasło </b>'.htmlspecialchars($formularz->exportValue('password')).'<br />';
echo '<b> Login </b>'.htmlspecialchars($formularz->exportValue('login')).'<br />';
echo '<b> E-mail </b>'.htmlspecialchars($formularz->exportValue('mail')).'<br />';
echo '<b> Wiek </b>'.htmlspecialchars($formularz->exportValue('age')).'<br />';
echo '<b> Czy prenumerujesz : </b>'.htmlspecialchars($formularz->exportValue('prenumerata')).'<br />';
echo '<b> Telefon </b>'.htmlspecialchars($formularz->exportValue('phone')).'<br />';
exit;
}
$formularz->display();
?>
Szukalem w necie ale ciezko znalezc cos na temat QuickForm
Problem polega na tym, iz chce po zaznaczeniu checkboxa "zaslonic" powiedzmy pole 'age' aby nie mozna bylo tam nic wpisac.
Po odznaczeniu checkbox-a chcialbym aby to pole bylo znowu dostepne do edycji.
Jakies pomysly?
Ewentualnie zamias checkbox uzyc radio
POzdrawiam