Zend_Json enregistrement en base de donnée
Je rencontre quelques soucis avec Zend_Json pour enregistrer mes données en base de donnée après un onChange sur un formulaire sans bouton submit.
Je m'explique, je souhaite mettre en place des formulaire via Zend_Form sans bouton submit, à chaque valeur entrer ou modifier, j'enregistre les nouvelle valeurs en base de donnée via JSON. (je n'y arrive pas.)
exemple de formulaire
Code:
1 2 3 4 5 6
|
<form id="toto" method="POST" action="index">
<td class="center"><input id="id" style="width:20px; size="10" type="text" name="id" value="<?php echo $test->id ?>"/></td>
<td class="center"><input id="name" class="input" name="name" value="<?php echo $name->name; ?>"onChange="test()" /></td>
</form> |
exemple jquery
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
function test(dataAjax)
{
$.ajax({
type: 'POST',
url: '../index/index',
data: dataAjax,
dataType: "json",
success : function(response)
{
//que faire pour enregistrer les valeurs, ou est-ce le controller ?
}
})
} |
Ajoutez [lang=php|phtml|javascript|sql|perl|xml|shell|html] au début de votre code pour activer le syntax highlighting
exemple de controller :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
public function indexAction()
{
$model = new Default_Model_DbTable_Save();
$form = new Default_Form_Form();
if (!$form->isValid($_POST))
{
$this->view->values = $form->getValues();
$this->view->getHelper('formError')->setMessages($form->getMessages());
}
//debut recuereration json
if($this->_request->isXmlHttprequest())
{
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$this->_helper->viewRenderer->setNeverRender(true);
$params = $this->_request->getParams();
if($form->isValid($_POST))
{
echo 'toto';
$id = $form->getValue('id');
$name = $form->getValue('name');
if($this->getRequest()->isPost())
{
if($form->isValid($this->getRequest()->getPost()))
{
}
}
if($model->edit($idMarque,$nameMarque)=== FALSE)
{
throw new Exception('problem');
}
}
$this->_helper->json($modelMarque,
array(
'enableJsonExprFinder' => true
));
//comment faire pour enregistrer en base de donnée, je suis vraiment bloqué
} |
Merci d'avance de votre aide