Nefunkčné addSubmit vo Formuláry
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- SontoEremo
- Člen | 341
Zdravím,
riešim teraz jednú záhadu na ktorú sa mi nepodarilo nájsť odpoveď na
forume..
Mám presenter
<?php
namespace App\Presenters;
use Nette;
use Nette\Application\UI\Form;
use Nette\Utils\Html;
class SendPresenter extends WebPresenter {
/** @persistent */
public $backlink = '';
/**
* AddToBasket factory.
* @return Form
*/
protected function createComponentAddToBasketForm() {
$addToBasket = new Form;
$addToBasket->getElementPrototype()->novalidate = 'novalidate';
$addToBasket->addText('number')
->setAttribute('class', 'form-control')
->setDefaultValue('1');
$addToBasket->addSubmit('addToBasketBtn', 'Pridať do košíka');
$addToBasket->onSuccess[] = $this->addToBasketFormSuccessSubmited;
return $addToBasket;
}
/**
* @param Form $addToBasket
*/
public function addToBasketFormSuccessSubmited(Form $addToBasket) {
$values = $addToBasket->getValues();
}
}
A Šablónu
{form addToBasketForm class=>"form-inline add-cart-form"}
{if $form->hasErrors()}
<div id="errors" class="alert alert-danger">
<ul>
{foreach $form->errors as $error}
<li>{$error}</li>
{/foreach}
</ul>
</div>
{/if}
<div n:foreach="$flashes as $flash" id="flashes" class="alert alert-danger flash {$flash->type}">
<strong >{$flash->message}</strong>
</div>
<div class="number">
<label>Počet:</label>
{input number}
<div class="regulator">
<a href="#" class="number-up"></a>
<a href="#" class="number-down"></a>
</div>
</div>
{input addToBasketBtn class=>"btn add-cart btn-default btn-lg"}
{/form}
Proste po kliknutí na tlačidlo sa neprejaví žiadna akcia a môžem
klikať koľko sa mi zache proste nič ospravedlňujem sa vopred ak je tam len
fatálna hlúposť no nemôžem ju nájsť.
Všetkým vopred veľmi pekne Ďakujem za odpovede.
- David Matějka
- Moderator | 6445
neprejaví žiadna akcia
chapu spravne, ze se to vubec neodesle? tedy ze se ani nevytvori pozadavek na server? v tom pripade to blokuje nejakej javascript…
Editoval matej21 (2. 10. 2014 12:39)
- SontoEremo
- Člen | 341
@matej21 máš pravdu blokáciu spôsoboval jeden z jQeury súborov
vyriešené :)
Konkrétne tento kód :)
//Add to Cart
$(".add-cart-form .add-cart").click(function() {
$(this).next('.number').find('input[type="text"]').attr('value', 1);
return false;
});
Editoval SontoEremo (2. 10. 2014 12:55)