Nette 2.1 – vlastní našeptávač
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- motorcb
- Člen | 552
Zdravím,
hraju si a bastlim vlastní našeptávač pro input. Když do našeptávače začnu psát vidím vyhovující položky a klinutím na položku ji vyberu. To je OK.
Jenomže, klienti po zadání našeptávané fráze stísknou klávesu ENTER, čímž odešlou celý formumáž → bez vybráním položky. Jak zruším odesílání formuláře?
Stisk klávesy ENTER, dokážu chytit, jen nevím jak přerušit odesílání formuláře.
$("#naseptavac").keyup(function (e) {
if (e.keyCode == 13) {
alert("enter");
}
});
Zkoušel jsem přerušit odesílání přes:
e.preventDefault();
ovšem nepomohlo – formulář se stále odeílá
Díky za rady
- motorcb
- Člen | 552
Ukázka kódu pro nasimulování:
protected function createComponentTestForm()
{
$form = new Form;
$form->addText( 'naseptavac', 'Text:' );
$form->addSubmit( 'send', 'Uložit' );
$form->onSuccess[] = $this->testFomrSucceeded;
return $form;
}
public function testFomrSucceeded( $form )
{
$this->redirect( "this" );
}
$(function() {
$("#frm-testForm-naseptavac").keydown(function (e) {
if (e.keyCode == 13) {
alert("enter");
e.preventDefault();
return false;
}
})
};