reakce prvku komponenty na onchange

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

Ahoj,

potřeboval bych zajistit, aby po změně hodnoty v textovém inputu zareagoval Handler. Z důvodu přehlednosti kódu bych rád využil vlastnost setAttribute a vyhnul se tak zápisu v javascriptu.

CHYBA:
`SyntaxError: invalid regular expression flag w
/ajax/www/?do=OnKeyUp`

protected function createComponentRegistrationForm() {
    $form = new Form;
    $form->getElementPrototype()->class('ajax');
    $form->addText('name', 'Jméno:')
            ->setAttribute('onkeyup', $this->link('OnKeyUp!'));
    $form->addPassword('password', 'Heslo:');
    $form->addSubmit('login', 'Registrovat');
    $form->onSuccess[] = [$this, 'registrationFormSucceeded'];
    return $form;
}

public function handleOnKeyUp() {
	if ($this->isAjax()) {
    	$this->template->hodnotaAjax = "handleOnKeyUp";
        $this->redrawControl('divsnip');
    }
}
CZechBoY
Člen | 3608
+
0
-

V kodu, kterí jsi poslal nevidím žádný regulární výraz :-( Můžeš poslat trošku více kodu?
Navíc ten odkaz mi připadá špatný… mělo by se vygenerovat ?do=onKeyUp

phoniq
Člen | 17
+
0
-

Rád bych zaslal více kódu, ovšem nevím odkud mi to tuhle chybu vyhazuje.

Když si ovšem nechám v šabloně vygenerovat odkaz na ten stejný handler, tak tam se mi to povede. Nefunguje pouze konstrukce v presenteru.

<a n:href=„OnKeyUp!“> testHandle … </a>

CZechBoY napsal(a):

V kodu, kterí jsi poslal nevidím žádný regulární výraz :-( Můžeš poslat trošku více kodu?
Navíc ten odkaz mi připadá špatný… mělo by se vygenerovat ?do=onKeyUp

David Matějka
Moderator | 6445
+
0
-

do on* atributu u html prvku nemuzes jen tak dat url. Do nich se dava javascript. Ale lepsi bude, kdyz tu url ulozis do nejakyho data- atributu a na keyup se navazes pres jquery