begin process at 2012 05 29 00:12:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Function & Méthodes

 > 

Changer la valeur d'une variable par une fonction


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Changer la valeur d'une variable par une fonction

mercredi 20 janvier 2010 à 14:28:44 | Changer la valeur d'une variable par une fonction

darxen

Bonjour,

J'ai un problème tout bête mais malheureusement, je n'arrive pas à trouver la solution.

J'ai besoin de faire un traitement dans une fonction.
Je stock le résultat dans une variable (jusque la tout va bien)
sauf que je n'arrive pas a récupérer le contenu de cette variable en dehors de cette fonction.

J'ai beau mettre 'var' avant le nom de ma variable. Mettre des 'return' rien n'y fais.


Voici une version (ultra) simplifiée de ce que j'ai en tete :

<head>
<script type="text/javascript">
coucou = 'rien';
function Coucou(){
var coucou = 'coucou';
return coucou;
}
</script>
</head>


<a href="" onclick="Coucou()">ICI</a><br />

<script>
document.write(coucou);
</script>

En gros il faudrait que quand je clique sur le lien ça affiche 'coucou' au lieu de 'rien'.

Dsl de poser une question aussi bête mais franchement la je sèche ...

Merci d'avance
mercredi 20 janvier 2010 à 16:33:27 | Re : Changer la valeur d'une variable par une fonction

darxen

Je tiens a préciser que j'ai essayé avec et sans 'var' dans ma fonction (pour rendre la variable globale)

Et si je mets :
coucou = 'rien';
avant ma fonction, c'est par ce que si je ne le fais pas.
il me dis que coucou 'is not defined'

Dsl pour cet oubli

jeudi 21 janvier 2010 à 19:14:12 | Re : Changer la valeur d'une variable par une fonction

PetoleTeam

Membre Club



Bonjour,
coucou = 'rien';// ceci est une variable globale
function Coucou(){
var coucou = 'coucou';// ceci est une variable locale
return (coucou);// ici on retourne la valeur de coucou locale mais coucou globale n'est pas modifié
}
pour modifier coucou globale il faut lui affecter la valeur retournée par la fonction Coucou()
coucou = Coucou();
maintenant si tu fais
<a href="" onclick="coucou = Coucou(); alert( coucou);">ICI</a><br>
tu auras le bon résultat...
;O)
samedi 31 juillet 2010 à 15:46:24 | Re : Changer la valeur d'une variable par une fonction

jimmyhendrix

J'ai le même problème, mais ca ne fonctionne toujours pas.

Sur mon site, j'ai un système de commentaire assez simple et qui fonctionne très bien. J'essaie maintenant d'afficher seulement les 5 derniers commentaires laissés, ce qui fonctionne aussi, mais je veux faire un lien pour que lorsqu'on clique, tous les commentaires s'affichent sur ma page et donc changer ma variable. Voici une partie de mon code :

var guitare=x.length-5;
for (i = x.length-1; i >= guitare; i--)
{
document.write("<tr><td ...

et ma fonction :

function voirsuitedown(){
var guitare=0;
return (guitare);
}

J'aimerais changer ma variable "guitare" pour mettre 0, ce qui afficherait tous mes commentaires à merveille ! J'ai mis sur mon bouton un onmousedown qui fonctionne bien si j'essaie d'autre fonction quelconque, mais onmousedown='guitare = voirsuitedown()' ne fonctionne pas.

J'ai besoin d'aide svp !
samedi 31 juillet 2010 à 23:22:26 | Re : Changer la valeur d'une variable par une fonction

PetoleTeam

Membre Club
Bonjour,
rien à voir avec le sujet initial, pas un problème de variable mais d'approche
Code Javascript :
//-------------------------------
function Affiche_New( deb_, fin_){
  for( var i = deb_; i > fin_; i--){
    //-- ICI le code d'affichage
  }
}

ce qui te donnes un appel du type
Code Javascript :
onmouseover="Affiche_New( Maxi_Tableau, 0);"


PS : il est préférable dans ce cas d'ouvrir un autre topic...
;O)
dimanche 1 août 2010 à 23:51:27 | Re : Changer la valeur d'une variable par une fonction

jimmyhendrix

Ca fonctionne, mais j'ai encore un problème. Voici mon script :

Code Javascript :
var xmlDoc=null;

if (window.XMLHttpRequest)

  {

  xhttp=new XMLHttpRequest();

  }

else // Internet Explorer 5/6

  {

  xhttp=new ActiveXObject("Microsoft.XMLHTTP");

  }

xhttp.open("GET","comments.xml",false);

xhttp.send("");

xmlDoc=xhttp.responseXML;

var x=xmlDoc.getElementsByTagName("comment");
var guitare=x.length-1;

function Affiche_New( deb_, fin_){

if (xmlDoc!=null)

{ 

document.write("<table class='comment1' width='300' border='0'>");

for (i = deb_; i >= fin_; i--)

  {

  document.write("<tr><td align='right' valign='top' background='image/commbg.jpg' bgcolor='#CCCCCC' scope='col'><span style='font-family: Tahoma, Verdana; font-size:10px; font-weight:bold;'>");

  document.write(x[i].getAttribute("nom"));

  document.write("</b></span><span style='font-family: Tahoma, Verdana; font-size:10px; font-weight:normal;'>&nbsp;-&nbsp;");

  document.write(x[i].getAttribute("date"));

  document.write("<br /><span style='font-size:4px'>&nbsp;</span><br /><span style='font-size:11px'>");

  document.write(x[i].getAttribute("texte"));

  document.write("</span><br /><span style='font-size:4px'>&nbsp;</span></td></tr></span>");

  }

document.write("</table>");

}
else
{
document.write("<span style='color:#FFFFFF'>NON-DISPONIBLE</span>");
}
}


et je place celui-ci dans le body de ma page :

Code Javascript :
<script type="text/javascript" language="JavaScript">
Affiche_New(x.length-1, x.length-5);
</script>


et ça l'affiche un tableau avec les 5 plus récents commentaires inscrits dans mon fichier xml. Par contre, lorsque je rappelle la fonction à l'aide de mon bouton du genre onclick='Affiche_New(x.length-1, 0)', la page reload et je n'ai plus que mon tableau de commentaires et rien d'autre (les nouvelles données y sont par contre). J'aimerais lui spécifier un endroit ou s'éxécuter, mais j'ignore comment...

Est-ce que quelqu'un pourrait m'aider svp ? J'en arrache vraiment.
lundi 2 août 2010 à 09:05:33 | Re : Changer la valeur d'une variable par une fonction

PetoleTeam

Membre Club
Bonjour,
document.write est à proscrire, il écrit dans le flux du document et de ce fait efface et remplace le contenu du document si celui ci est chargé.

Il est préférable, entre autre, d'utiliser la propriété innerHTML;
Code Javascript :
//-- Recup objet element dans lequel on veut mettre le texte
var Obj = document.getElementById('id_element');
//-- Exemple de texte
var szTxt = "Le texte a mettre !";
//-- mise du texte dans l'element
Obj.innerHTML = szTxt;

;O)
mercredi 4 août 2010 à 03:58:10 | Re : Changer la valeur d'une variable par une fonction

jimmyhendrix

J'ai trouvé un code en cherchant sur le net, je pourrais facilement le modifier, mais j'arrive pas à faire fonctionner le innerhtml.

Code Javascript :
<html>
<head>
<title>Sample code - Traversing an HTML Table with JavaScript and DOM Interfaces</title>
<script>

    function start() {
        // get the reference for the body
        var body = document.getElementsByTagName("body")[0];

        // creates a <table> element and a <tbody> element
        var tbl     = document.createElement("table");
        var tblBody = document.createElement("tbody");

        // creating all cells
        for (var j = x.length-1; j >= x.length-5; j--) {
            // creates a table row
            var row = document.createElement("tr");

            for (var i = 0; i < 2; i++) {
                // Create a <td> element and a text node, make the text
                // node the contents of the <td>, and put the <td> at
                // the end of the table row
                var cell = document.createElement("td");
                var cellText = document.createTextNode("cell is row "+j+", column "+i);
                cell.appendChild(cellText);
                row.appendChild(cell);
            }

            // add the row to the end of the table body
            tblBody.appendChild(row);
        }

        // put the <tbody> in the <table>
        tbl.appendChild(tblBody);
        // appends <table> into <body>
        body.appendChild(tbl);
        // sets the border attribute of tbl to 2;
        tbl.setAttribute("border", "2");
    }
</script>
</head>
<body onload="start()">
<span id="TABLEAU ICI"></span>
</body>
</html>


J'aimerais créer mon tableau dans "TABLEAU ICI", mais je n'y arrive vraiment pas. MERCI ENCORE POUR TON AIDE !
mercredi 4 août 2010 à 20:14:23 | Re : Changer la valeur d'une variable par une fonction

PetoleTeam

Membre Club
Bonjour,
je répète il aurait mieux valu ouvrir un autre topic mais bon...
tu sorts d'où le tableau x dans
Code Javascript :
for (var j = x.length-1; j >= x.length-5; j--) {
il n'est pas en paramètre de la fonction !

;O)
mercredi 4 août 2010 à 20:31:58 | Re : Changer la valeur d'une variable par une fonction

jimmyhendrix

J'ai commencé à le modifier légèrement, je croyais avoir retiré ce que j'avais fait, mais j'ai oublié ce morceau là. Avec mes légères modifications, c'est ca que ça donnait en vrai :

Code Javascript :
<html>
<head>
<title>Sample code - Traversing an HTML Table with JavaScript and DOM Interfaces</title>
<script>
var xmlDoc=null;

if (window.XMLHttpRequest)

  {

  xhttp=new XMLHttpRequest();

  }

else // Internet Explorer 5/6

  {

  xhttp=new ActiveXObject("Microsoft.XMLHTTP");

  }

xhttp.open("GET","comments.xml",false);

xhttp.send("");

xmlDoc=xhttp.responseXML;

var x=xmlDoc.getElementsByTagName("comment");

    function start() {
        // get the reference for the body
        var body = document.getElementsByTagName("body")[0];

        // creates a <table> element and a <tbody> element
        var tbl     = document.createElement("table");
        var tblBody = document.createElement("tbody");

        // creating all cells
        for (var j = x.length-1; j >= x.length-5; j--) {
            // creates a table row
            var row = document.createElement("tr");

            for (var i = 0; i < 2; i++) {
                // Create a <td> element and a text node, make the text
                // node the contents of the <td>, and put the <td> at
                // the end of the table row
                var cell = document.createElement("td");
                var cellText = document.createTextNode("cell is row "+j+", column "+i);
                cell.appendChild(cellText);
                row.appendChild(cell);
            }

            // add the row to the end of the table body
            tblBody.appendChild(row);
        }

        // put the <tbody> in the <table>
        tbl.appendChild(tblBody);
        // appends <table> into <body>
        body.appendChild(tbl);
        // sets the border attribute of tbl to 2;
        tbl.setAttribute("border", "2");
    }
</script>
</head>
<body onload="start()">
guitare<br>
</body>
</html>


Sinon tu peux seulement remplacer mon x.length-1 et -5 par 0 et 5 et mettre j++. À l'avenir j'ouvrirai un autre topic, c'est promis ! Merci !

1 2

Cette discussion est classée dans : fonction, variable, changer, valeur, bête


Répondre à ce message

Sujets en rapport avec ce message

Petite fonction avec une condition pour l'envoi d'un formulaire [ par ben010 ] Bonjour,Je n'ai jamais vraiment fait de javascript mais là je dois réaliser un petit script qui, en fonction de la valeur d'une variable, permet l'env affecter une valeur a une variable pour afficher une page [ par tony_73 ] Bonjour,voila je voudrais affecter une valeur a une variable (en javascript) quand je clique sur un bouton. Et executer une page selon la valeur de la Problème de passage de variable dans un formulaire [ par spaceyogourt ] Salut tout le monde,j'ai un petit souci pour transmettre une variable sur une autre page.d'un côté j'ai un script qui affiche une zone si le contenu Changer la fonction d'un evenement [ par BEAUBRIUS ] BonjourAlors , j'ai un probleme simple , et j'aimerai savoir si c'est possible et si oui comment.Je veut simplement , changer la fonction qui est apel Concaténation de variable JS [ par snoopian ] Hello !J'ai le problème suivant :Une petite fonction javascript qui modifie la valeur d'un champs texte dans un formulaire.function FlashToJavaScript( Passer une variable d'une fonction javascript à un object classid [ par llnis ] Bonjour, J'ai besoin d'intégrer dans une url une variable générer par une fonction javascript du style : function display(){ var chiffdujour = 13880; document."valeur ma variable" [ par cyril4900 ] Bonjour à tous, J'ai un problème tout bête, je veux que ma variable eyes soit remplacer par sa valeur (ex: eye1, qui correspond à un nom d'image dans Fonction qui ne marche pas !!! [ par nicomilville ] Salut tout le monde,j'ai une fonction js qui ne marche pas, pourrai t-on m'expliquer pourquoi ???function carré(valeur) { return valeur*valeur;}functi [DOM]Conserver une valeur après ajout d'un child [ par malalam ] Hello,le titre n'est pas super clair parce que je ne savais pas comment résumer.J'appelle une fonction sur un évènement (onchange d'un select : bref, passer une variable d'une fenetre a une autre [ par xactise ] Bonjorus j'ai bien éssayer de chercher dans les code present sur ce site mais je ne sait pas quoi taper en recherchevoici mon problèmeje voudrai modif


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales