ajax, překreslit jen část formuláře
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Relapse
- Člen | 34
Dobrý den,
je možné pomocí {snippet} ajax překreslit jen část formuláře?
Chci po kliknutí na odkaz nastavit některé hodnoty formuláře.
Mám něco takového:
public function handleNewOrder($id)
{
/* Doplnim udaje odberatele do formulare */
if ($id)
{
$sb = $this->DBsubscribers->findOneBy(array('id' => $id));
$this['orderForm']->setDefaults(array(
'name' => $sb->name,
'address' => $sb->address,
'city' => $sb->city,
'country' => $sb->country,
'ICO' => $sb->ICO,
'DIC' => $sb->DIC
));
}
$this->redrawControl('sub'); //překreslíme komponentu
}
Ale nevím kam v šabloně, kde vykresluji formulář, umístit značky
{snippet} {/snippet}, aby se mi překreslila jen ta část formuláře, kterou
potřebuji (prvních pět inputů).
Když ty značky{snippet} {/snippet} umístím natvrdo dovnitř toho
formuláře, tak dostunu chybu: Undefined variable: _form
{form orderForm}
<ul class="errors" n:if="$form->hasErrors()">
<li>{$form->errors[0]}</li>
</ul>
<table id="tableLeft">
<tr class="required">
<th><h3>Odběratel:</h3></th>
</tr>
<tr class="space">
<td></br></td>
</tr>
<tr class="required">
<th>{label name /}</th>
<td>{input name}</td>
</tr>
<tr class="required">
<th>{label address /}</th>
<td>{input address}</td>
</tr>
<tr class="required">
<th>{label city /}</th>
<td>{input city}</td>
</tr>
<tr class="required">
<th>{label country /}</th>
<td>{input country}</td>
</tr>
<tr class="required">
<th>{label ICO /}</th>
<td>{input ICO}</td>
</tr>
<tr class="required">
<th>{label DIC /}</th>
<td>{input DIC}</td>
</tr>
<tr class="space">
<td></br></td>
</tr>
<tr class="required">
<th><h3>Objednávka:</h3></th>
</tr>
<tr class="space">
<td></br></td>
</tr>
<tr class="required">
<th>{label number /}</th>
<td>{input number}</td>
</tr>
<tr class="required">
<th>{label date /}</th>
<td>{input date}</td>
</tr>
<tr class="required">
<th>{label dueDate /}</th>
<td>{input dueDate}</td>
</tr>
<tr class="required">
<th>{label dateUZP /}</th>
<td>{input dateUZP}</td>
</tr>
<tr class="required">
<th>{label formPayment /}</th>
<td>{input formPayment}</td>
</tr>
<tr class="space">
<td></br></td>
</tr>
</table>
{/form}
Děkuji za pomoc.