Bonjour,
j'ai un problème avec ajax :(
j'ai une vue before_subscribe.ctp qui contient une div et un lien le voici :
<div class="beforeIns">
<div class="insElem well">
<p>
Pas encore inscris à Esprit ?<br>
Fait le dès aujourd'hui !
</p>
<?php
<strong>echo $this->Html->link("Créer votre dossier d'admission", array('action' => 'info_subscribe'), array('class' => 'btn btn-info create'));</strong>
?>
</div>
</div>
et voici mon script main.js :
$(document).ready(function() {
$('.create').on('click', function (e){
e.preventDefault();
$.get($(this).attr('href'), {}, function(data){
$('.beforeIns').empty().append(data);
});
return false;
});
$('.prec').on('click', function (e){
e.preventDefault();
$.get($(this).attr('href'), {}, function(data){
$('.beforeIns').empty().append(data);
});
return false;
});
});
mon problème c'est que quand je clique sur le lien d'id ajax dans la vue before_subscribe.ctp le contenu de la div change et il m'affiche la vue info_subscribe mais le 2 ème sélecteur $('#prec') ne marche pas voici la vue qui contient ce lien :
<?php
echo $this->Html->link("Précédent", array('action' => 'info_subscribe'), array('class' => 'btn btn-success prec'));
?>
pouver vous m'aider à résoudre le problème merci :)
NB : j'ai essayer avec live() mais ca ne marche pas pour les deux et avec on() seulement le 1er
D'accord j'ai cherché un peu, je pense que ceci va marcher:
$(document).ready(function() {
$('.beforeIns').on('click', '.create',function (e){
e.preventDefault();
$.get($(this).attr('href'), {}, function(data){
$('.beforeIns').empty().append(data);
});
return false;
});
$('.beforeIns').on('click','.prec', function (e){
e.preventDefault();
$.get($(this).attr('href'), {}, function(data){
$('.beforeIns').empty().append(data);
});
return false;
});
});
bien cordialement
Antho
Bonjour,
Il faut recharger le script js
Il me semble qu'avec cakephp , on peut mettre
<?php echo $this->Js->writeBuffer(array('inline' => 'true')); ?>
sur les 2 pages.
Ce sont des vieilles sources que je viens de relire... je suis pas convaincu ni sur la forme ni sur le fonctionnement encore aujourd'hui .. mais ça coûte rien d'essayer ^^
bien cordialement
Antho
A noter que on duplique 2 fois le code ici... mettre une classe commune aux 2 liens pourra diminuer de moitié la quantité de js.