setEmptyValue() u $form->addPassword()

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
kuty
Člen | 7
+
0
-

Dobre odpoledne,
narazil jsem na problem pri vytvareni formulare. Kod vkladam nize. U addText mi setEmptyValue funguje u addPassword nikoliv. Mohl by mi prosim nekdo poradit, co delam spatne? Pripadne, jestli existuje nejaka moznost, jak naplnit heslo alespon ●●●●●● ?

$form->addText('username', 'Jméno:')
        ->setEmptyValue('uživatelské jméno') // jmeno bude predvyplneno
        ->getControlPrototype()
          ->onfocus("this.value = ''; this.onfocus = null")
	      ->addRule(Form::FILLED, 'Zadejte Vaše uživatelské jméno.');
$form->addPassword('password', 'Heslo:')
        ->setEmptyValue('heslo') // heslo bude predvyplneno
        ->getControlPrototype()
          ->onfocus("this.value = ''; this.onfocus = null")
        ->addRule(Form::FILLED, 'Zadejte Vaše heslo.');
redhead
Člen | 1313
+
0
-

I když moc nechápu vůbec význam toho co se snažíš udělat, tak bych spíš udělal javascriptově nový textový input, kde by byla value ‚heslo‘ a když získá focus, input zmizí a focus dostane input pro password, který by se objevil místo něj. Jinak je to celkem o ničem, aby měl password nějakou empty value..

kuty
Člen | 7
+
0
-

diky, zkusim … jde mi o to, ze mam design, kde nepocitam s label :-) mam tam jen inputy a tlacitko a nechci mit input s heslem prazdnej.

Aurielle
Člen | 1281
+
0
-

V továrničce na mém prvním webu (v Nette) to mám takto a funguje to: (verze 0.8)

// Login
$form = new AppForm();
$this->addComponent($form, $name);

$form->addText('username', 'Váš e-mail')
	->setEmptyValue('e-mail');
$form->addPassword('password', 'Vaše heslo')
	->setEmptyValue('heslo');
$form->addCheckbox('remember', 'Pamatovat si mě');
$form->addSubmit('loginsubmit', 'Přihlásit')
	->setValidationScope(false);
$form->addProtection();
$form->onSubmit[] = array('Uzivatel', 'handleLogin');

$form['username']->getControlPrototype()->class('username')->onfocus("if(this.value=='e-mail')this.value='';")->onblur("if(this.value=='')this.value='e-mail';");
$form['password']->getControlPrototype()->class('password')->onfocus("if(this.value=='heslo')this.value='';")->onblur("if(this.value=='')this.value='heslo';");
$form['loginsubmit']->getControlPrototype()->class('autowidth button1 submitlogin');
$form['remember']->getControlPrototype()->class('checkbox');
David Grudl
Nette Core | 8139
+
0
-

kuty napsal(a):

diky, zkusim … jde mi o to, ze mam design, kde nepocitam s label :-) mam tam jen inputy a tlacitko a nechci mit input s heslem prazdnej.

To chceš mít v inputu na heslo místo labelu třeba pět teček? ;)

Karel Klíma
Člen | 31
+
0
-

David Grudl napsal(a):

kuty napsal(a):

diky, zkusim … jde mi o to, ze mam design, kde nepocitam s label :-) mam tam jen inputy a tlacitko a nechci mit input s heslem prazdnej.

To chceš mít v inputu na heslo místo labelu třeba pět teček? ;)

Řada webdesignerů to takhle skutečně praktikuje, nicméně chudák člověk, který to musí používat. V takovém formuláři aby se čert vyznal.

redhead
Člen | 1313
+
0
-

Ještě navíc emptyValue nebude brát ‚heslo‘ jako heslo, pokud by tedy nějaký nešikovný uživatel měl takové heslo :)