Les formulaires sont soumis via ajax de la même manière qu'ils pourraient l'être sans CakePHP. Si c'est moi, voici ce que je ferais ...
À mon avis:
<?php echo $this->Html->script(
array('vendors/jquery.min', 'customjs')
, array('inline' => false, 'once' => true)
) ?>
<?php echo $this->Form->create(...) ?>
... your form content here ...
<?php echo $this->Form->end('Share') ?>
Dans une coutume fichier (/js/custom.js
) Javascript:
$(function() {
$('#your-form').submit(function() {
// make your ajax call
$.post(...);
return false; // prevent a new request
});
});
Enfin, créez un nouveau contrôleur et/ou une action pour gérer l'URL demandée par votre appel ajax. Ce ne sont que les faits saillants, bien sûr, mais ils illustrent la distribution clé des préoccupations:
- Inclure les fichiers JS nécessaires afin que votre vue a accès à eux.
- Fixez la forme d'effectuer son soumettre régulièrement programmé soumettre gestionnaire d'événements sur document.ready (non-ligne)
- Prévenir après l'appel ajax en retournant faux du gestionnaire d'événements.
Espérons que ça aide.
Je déteste détourner une discussion, mais j'ai des problèmes avec l'assistant Js. (Ramon, vous avez essayé de répondre à ma question la semaine dernière http://stackoverflow.com/questions/3901906/how-to-use-js-submit-in-cakephp). À quoi fait référence le "Partage" dans le tableau d'options submit()? Est-ce que cela a fonctionné pour vous Harsha? –
@Logic Artist: Merci d'avoir signalé cela. J'ai corrigé l'extrait. –
@logic non je ne suis pas capable de le faire fonctionner. –