Bonsoir, J'ai malheureusement deux petits problèmes avec Script.Aculo.us :(
commençons par le premier ;)
Sortable.create et Sortable.serialize
Soit deux pages : Pagea.php & Pageb.php
Pagea.php ayant comme valeur (HTML & Javascript) :
<div id="conteneur">
<fieldset id="text1"><legend>Text1</legend>
</fieldset>
<fieldset id="text2"><legend>Text2</legend>
</fieldset>
<fieldset id="text3"><legend>Text3</legend>
</fieldset>
<fieldset id="text4"><legend>Text4</legend>
</fieldset>
<fieldset id="text5"><legend>Text5</legend>
</fieldset>
</div>
<script type="text/javascript" language="javascript">
// <![CDATA[
function Updateordre() {
new Ajax.Request('
Pageb.php', {method:'post',postBody:Sortable.serialize('conteneur', {tag:'fieldset',name:'fieldsetp'})});
}
Sortable.create('conteneur',{tag:'fieldset',overlap:'vertical',constraint:'vertical',onUpdate:Updateordre});
// ]]>
</script>
Voila donc la Pagea est censée envoyer une requete contenant l'ordre des fieldset par une requete XMLHttpRequest vers la Pageb seulement... rien ne se passe :s (Firebug ne trouve aucune erreur mais ne détecte aucune requete, de plus ma pageb doit mettre a jour un champ dans une base de donnée et ce dernier ne se met pas a jour (donc je sais qu'aucune donnée n'est transmise)
Ajax.InPlaceEditor et lui tout seul ;p
Reprenons nos pages a et b plus haut et apportons leur des modifications ;)
Pagea.php ayant comme valeur (HTML & Javascript) :
<div id="conteneur">
<fieldset id="text1"><legend>Text1</legend>
<div id="textm1">Text modifiable :)</div>
</fieldset>
<fieldset id="text2"><legend>Text2</legend>
<div id="textm2">Text modifiable :)</div>
</fieldset>
<fieldset id="text3"><legend>Text3</legend>
<div id="textm3">Text modifiable :)</div>
</fieldset>
<fieldset id="text4"><legend>Text4</legend>
<div id="textm4">Text modifiable :)</div>
</fieldset>
<fieldset id="text5"><legend>Text5</legend>
<div id="textm5">Text modifiable :)</div>
</fieldset>
</div>
<script type="text/javascript" language="javascript">
// <![CDATA[
new
Ajax.InPlaceEditor('textm'1,
'pageb.php?id='1,{okButton:true,okText:'Sauver',cancelLink:true,cancelText:'Annuler',savingText:'Sauvegarde
en cours, Merci de patienter !',clickToEditText:'Clic pour éditer
!',rows:10,cols:90,loadingText:'Chargement du nouveau
contenu',paramName:1,ajaxOptions:{method:'post',postBody:'var1='+???+''}})); new Ajax.InPlaceEditor('textm'2,
'pageb.php?id='2,{okButton:true,okText:'Sauver',cancelLink:true,cancelText:'Annuler',savingText:'Sauvegarde
en cours, Merci de patienter !',clickToEditText:'Clic pour éditer
!',rows:10,cols:90,loadingText:'Chargement du nouveau
contenu',paramName:2,ajaxOptions:{method:'post',postBody:'var2='+???+''}}));
new Ajax.InPlaceEditor('textm'3,
'pageb.php?id='3,{okButton:true,okText:'Sauver',cancelLink:true,cancelText:'Annuler',savingText:'Sauvegarde
en cours, Merci de patienter !',clickToEditText:'Clic pour éditer
!',rows:10,cols:90,loadingText:'Chargement du nouveau
contenu',paramName:3,ajaxOptions:{method:'post',postBody:'var3='+???+''}}));
new Ajax.InPlaceEditor('textm'4,
'pageb.php?id='4,{okButton:true,okText:'Sauver',cancelLink:true,cancelText:'Annuler',savingText:'Sauvegarde
en cours, Merci de patienter !',clickToEditText:'Clic pour éditer
!',rows:10,cols:90,loadingText:'Chargement du nouveau
contenu',paramName:4,ajaxOptions:{method:'post',postBody:'var4='+???+''}}));
new Ajax.InPlaceEditor('textm'5,
'pageb.php?id='5,{okButton:true,okText:'Sauver',cancelLink:true,cancelText:'Annuler',savingText:'Sauvegarde
en cours, Merci de patienter !',clickToEditText:'Clic pour éditer
!',rows:10,cols:90,loadingText:'Chargement du nouveau
contenu',paramName:5,ajaxOptions:{method:'post',postBody:'var5='+???+''}}));
// ]]>
</script>
Comment puis-je faire pour que, comme précédement, je donne la main à php en lui transferent deux choses :
- En GET le numéro du champ ( de 1 a 5)
- En POST le contenu du textarea d'edition (varX ou x est compris entre 1 et 5)
Merci d'avoir lu jusqu'au bout :)
Bonne soirée !