"convertir" div en JavaScript en php
Brunodurant
Messages postés
13
Statut
Membre
-
Brunodurant Messages postés 13 Statut Membre -
Brunodurant Messages postés 13 Statut Membre -
Bonjour à tous
Je vous explique, j'ai un petit soucis.
Dans un formulaire en PHP, que j'ai appelé index.php:
Etape 1: j'ai placé quelques checkbox, comme suit:
Etape 2: j'ai placé un script JavaScript me permettant de savoir l'ordre des checkbox cochées par un utilisateur:
Etape 3: j'ai le résultat:
Jusque là tout se passe bien.
Etape 4: je "déplace" mon div dans une variable en php et je fais un echo
Tout s'affiche correctement
Etape 5: j'envoie le contenu de ma variable en php sur une autre page (page1.php)
[CODE]
<input type="hidden" name="rang" value="<?php $rang;?>">
[/CODE]
Etape 6: dans ma page1.php, je récupére ma variable
[CODE]
$rang = isset($_POST['rang']) ? $_POST['rang'] : "";
[/CODE]
Etape 7: je l'affiche dans ma page1.php
[CODE]
echo $rang;
[/CODE]
et ... ça ne fonctionne pas
Du coup, j'ai essayé d'éliminer pas à pas les éventuels problèmes.
J'ai ajouté le mot "salut" dans mon input hidden de la page index.php pour voir si je ne m'étais pas trompé dans le input ou dans la récupération de la variable dans la page1.php
J'ai uniquement le mot "Salut" qui apparaît.
Du coup je pense que c'est le div dans ma variable $rang qui pose problème.
Est-ce que le problème vient du fait que javascript est côté client et que php est côté serveur ?
J'ai vu qu'il y avait peut être une solution avec Ajax, mais je ne l'ai pas comprise.
Est-ce que quelqu'un parmi vous pourrait m'expliquer ?
Merci beaucoup
A bientôt
Bruno
EDIT : Correction des balises de code
Je vous explique, j'ai un petit soucis.
Dans un formulaire en PHP, que j'ai appelé index.php:
Etape 1: j'ai placé quelques checkbox, comme suit:
<input name="image1" type="checkbox" class="case" id="1" value="1"> <input name="image2" type="checkbox" class="case" id="2" value="2"> <input name="image3" type="checkbox" class="case" id="3" value="3"> /** * etc. */
Etape 2: j'ai placé un script JavaScript me permettant de savoir l'ordre des checkbox cochées par un utilisateur:
<script> console.clear(); var checkbox = document.getElementsByClassName('case'), aff = document.getElementById('aff'), ordre=[]; for(var i=0, len=checkbox.length; i<len; i++){ checkbox[i].onclick=function(){ if(this.checked) ordre.push(this.value); else if((key = ordre.indexOf(this.value)) >-1 ) ordre.splice(key,1); aff.innerHTML = ordre.join(' - ');};} </script>
Etape 3: j'ai le résultat:
<div id="aff"></div>
Jusque là tout se passe bien.
Etape 4: je "déplace" mon div dans une variable en php et je fais un echo
<?php $rang='<div id="aff"></div>'; echo $rang; ?>
Tout s'affiche correctement
Etape 5: j'envoie le contenu de ma variable en php sur une autre page (page1.php)
[CODE]
<input type="hidden" name="rang" value="<?php $rang;?>">
[/CODE]
Etape 6: dans ma page1.php, je récupére ma variable
[CODE]
$rang = isset($_POST['rang']) ? $_POST['rang'] : "";
[/CODE]
Etape 7: je l'affiche dans ma page1.php
[CODE]
echo $rang;
[/CODE]
et ... ça ne fonctionne pas
Du coup, j'ai essayé d'éliminer pas à pas les éventuels problèmes.
J'ai ajouté le mot "salut" dans mon input hidden de la page index.php pour voir si je ne m'étais pas trompé dans le input ou dans la récupération de la variable dans la page1.php
<input type="hidden" name="rang" value="<?php $rang; echo "salut"; ?>">
J'ai uniquement le mot "Salut" qui apparaît.
Du coup je pense que c'est le div dans ma variable $rang qui pose problème.
Est-ce que le problème vient du fait que javascript est côté client et que php est côté serveur ?
J'ai vu qu'il y avait peut être une solution avec Ajax, mais je ne l'ai pas comprise.
Est-ce que quelqu'un parmi vous pourrait m'expliquer ?
Merci beaucoup
A bientôt
Bruno
EDIT : Correction des balises de code
A voir également:
- "convertir" div en JavaScript en php
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Convertir epub en kindle - Guide
- Convertir kindle en epub - Guide
- Convertir audio en texte word - Guide
- Convertir youtube en mp3 avec audacity - Guide
2 réponses
Bonjour,
Déjà, les balises de code sur ce forum c'est comme ça :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite ...
A ton étape 2, à la place (ou en plus.. ) de remplir ta div .. rempli directement l'input hidden avec la valeur...
1 - on ajoute un ID à ton input .. c'est plus simple pour le cibler en javascript
2 - .. Dans ton js
Déjà, les balises de code sur ce forum c'est comme ça :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite ...
A ton étape 2, à la place (ou en plus.. ) de remplir ta div .. rempli directement l'input hidden avec la valeur...
1 - on ajoute un ID à ton input .. c'est plus simple pour le cibler en javascript
<input type="hidden" name="rang" id="rang" value="">
2 - .. Dans ton js
<script> console.clear(); var checkbox = document.getElementsByClassName('case'), var aff = document.getElementById('aff'), var inpRang = document.getElementById('rang'); var ordre=[]; for(var i=0 ; i < checkbox.length; i++){ checkbox[i].onclick=function(){ if(this.checked) ordre.push(this.value); else if((key = ordre.indexOf(this.value)) >-1 ) ordre.splice(key,1); aff.innerHTML = ordre.join(' - '); inpRang.value = ordre.join(' - '); }; } </script>
Super
merci pour ta réponse.
Alors je crois que je n'ai pas compris.
J'ai remplacé mon script javascript par le tien. J'ai modifié mon étape 5 (je n'arrive plus à modifier les balises code dans mon message) par ton input. Du coup, j'ai supprimé mes étapes 3 et 4 (ai-je raison ?).
ça ne fonctionne pas mais je ne suis pas sûr d'avoir bien compris.
Merci et a+
merci pour ta réponse.
Alors je crois que je n'ai pas compris.
J'ai remplacé mon script javascript par le tien. J'ai modifié mon étape 5 (je n'arrive plus à modifier les balises code dans mon message) par ton input. Du coup, j'ai supprimé mes étapes 3 et 4 (ai-je raison ?).
ça ne fonctionne pas mais je ne suis pas sûr d'avoir bien compris.
Merci et a+