Petite question javascript

Fermé
halaster - 4 juin 2008 à 12:35
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 - 4 juin 2008 à 13:33
Bonjour,

comment faire, en utilisant uniquement la fonction javascript ( en la modifiant j'imagine :p ) :

<script type="text/javascript">
function fct_test(champ)
{
if (champ != '')
{
document.getElementById('id_').innerHTML=champ;
}
else
{
document.getElementById('id_').innerHTML='';
}
}
</script>


pour mettre la valeur de champ dans une variable php au lieu de l'afficher dans la balise <div id='id_'>.

3 réponses

Brachior Messages postés 613 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 46
4 juin 2008 à 12:42
le php est traité en serveur Oo
dc meme si tu rentre la valeur en php et que tu réactualise ..
alors cette donnée sera effacée ( sauf si tu passes en session Oo)
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
4 juin 2008 à 12:47
Il faut bien comprendre le mécanisme de communication client-serveur web. Le code PHP n'est interpreté et exécuté que côté serveur. Aucune variable, fonction, classe, code PHP ne peut être utilisé une fois la page chargée chez le client.
Pour pouvoir manipuler dynamiquement une données qui était présente côté PHP, il faut la stocker dans une variable javascript et la manipuler en javascript.

Pour palier à ce manque, l'ajax permet d'exécuter du code PHP sans devoir recharger la page entière, mais ca reste le même fonctionnement, le PHP sur le serveur, et le javascript/html chez le client.

Les seules variables PHP sauvegardées et donc réutilisables entre plusieurs accès serveur sont les variables de session
0
et, si j'utilise ajax, puis je utiliser les données qui seront dans mon <div id="id_"></div>
en dehors ? car j'ai essayé, et j'ai vraiment l'impression que en dehors du div, les variables ne sont plus prises en compte :x
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
4 juin 2008 à 13:33
Toutes les variables javascript déclarées en dehors des fonctions sont utilisables par tout le code javascript de la MEME page, y compris dans les fichiers .js externe.
N'importe quel code javascript dans la page peut modifier la valeur de ces variables.

On les déclare simplement comme les autres :

<script language="javascript">
var ma_var1;
var ma_var2 = 'bla';

function function1(){
 ma_var1 = "blabla";
 ma_var2 = ma_var1;
}

var ma_var3 = ma_var2;

function function2(){
 var ma_var4 = ma_var1;
}
</script>

au premier chargement de la page,
- ma_var1 sera vide, mais existera.
- ma_var2 vaudra 'bla';
- ma_var3 vaudra 'bla';
- ma_var4 n'existera pas.

ma_var1, ma_var2, ma_var3 sont utilisables dans toute la page. ma_var4 n'est utilisable que dans function2().
Lorsque function1() sera appelée, ma_var1 vaudra "blabla", ma_var2 vaudra "blabla", pour tout le reste du code, tant que la page n'est pas rechargée.
Lorsque function2() sera appelée, si function1() n'a pas été appelée avant, ma_var4 sera vide, et sera supprimée à la fin de la fonction. Si function1() a été appelée avant, ma_var4 vaudra "blabla", et sera supprimée à la fin de la fonction.

J'espère avoir été assez clair.
0