Když je vyplá laděnka neodesílá se formulář
- FJP
- Člen | 124
ok :)
tu je formulář
public function createComponentInquiryForm() {
$form = new \Nette\Application\UI\Form;
$form->addText('first_name', 'Jméno *')->setRequired('Vyplňte prosím toto pole.');
$form->addText('last_name', 'Příjmení *')->setRequired('Vyplňte prosím toto pole.');
$form->addText('company', 'Název společnosti *')->setRequired('Vyplňte prosím toto pole.');
$form->addText('phone', 'Telefonní číslo *')
->setRequired('Vyplňte prosím toto pole.')
->addCondition(\Nette\Application\UI\Form::FILLED)
->addRule(\Nette\Application\UI\Form::PATTERN, 'Zadejte telefon v platném formátu', '(\+?\(?((?:\d[\s\)]*){3})?(?:\d[\s\-]*){9})');
$form->addText('email', 'E-mail *')
->addRule(\Nette\Application\UI\Form::EMAIL, 'Adresa musí být ve správném tvaru.')
->setRequired("Vyplňte prosím toto pole.");
$form->addText('city', 'Město');
$form->addText('post_code', 'PSČ');
$form->addText('street', 'Ulice');
foreach ($this->modules as $key => $module) {
$form->addCheckbox($key, $module);
}
$form->addTextArea('question', 'Další dotazy')
->setAttribute('placeholder', 'Další dotazy');
//Antispam
$c1 = date('j') + 3;
$c2 = date('N') + 2;
$symbol = 'plus';
$s = $c1 + $c2;
$form->addText('vysledek', sprintf('Kolik je %s ' . $symbol . ' %s *', $c1, $c2))
->setAttribute('placeholder', 'Ochrana proti robotům.')
->setRequired('Je třeba zadat správnou hodnotu jako ochranu proti SPAMu')
->addRule(\Nette\Application\UI\Form::EQUAL, 'Je třeba zadat správnou hodnotu jako ochranu proti SPAMu', $s);
$form->addHidden('c1', $c1);
$form->addHidden('c2', $c2);
$form->addSubmit('submit', 'Odeslat');
$form->onSuccess[] = $this->inquiryFormSubmitted;
$form->onError[] = $this->inquiryFormErrorSubmitted;
return $form;
}
- FJP
- Člen | 124
tak do Success to dojde, ale je tam problém s odesláním mailu (ale s laděnkou to projde, i maily dorazí).
CZechBoY napsal(a):
Co znamená, že se neodesílá? Neproběhne HTTP požadavek? Nezavolá se ani Success ani Error události?
btw. ta ochrana proti spamu postrádá smysl, protože výsledek toho ověřovacího pole se napíše do data atributu.
O lepším řešení bohužel nevím, napadá tě něco?
- David Matějka
- Moderator | 6445
Nemas nejak nastaveny mailer pro debug jinak nez pro production? ukaz kdyztak config s nastavenim maileru. A zkousel si smazat cache?
- FJP
- Člen | 124
David Matějka napsal(a):
Nemas nejak nastaveny mailer pro debug jinak nez pro production? ukaz kdyztak config s nastavenim maileru. A zkousel si smazat cache?
Ha, tak že to je cachí by mě nenapadlo. Už to jede. Děkuji
Šaman napsal(a):
Takže není problém ve formuláři, ale v jeho zpracování? A ty jsi vlákno nazval „neodesílá se formulář“ a jako problémový kód poslal jen kód formuláře? :D
Pošli teda to success zpracování a rovnou ukaž i jak zapínáš laděnku. A verzi Nette, pokud nejsi na aktuální 2.3.
Nazval a poslal – to jsem bohužel ještě nevěděl, že to je, jak je :)
Editoval FJP (11. 1. 2016 14:04)