0
votes

PHP Changement de valeur à l'intérieur de JS

Je voudrais changer la couleur du texte en fonction de la page de la page cliquée à l'aide de PHP.

HTML STRY> P>

$('.link').click(function () {

    var jcolor = <?php echo $color; ?>;

    if (jcolor == "red") {
        $(".toChange").css({
            "color": "red"
        });
    }
    if (jcolor == "gre") {
        $(".toChange").css({
            "color": "green"
        });
    }
    if (jcolor == "yel") {
        $(".toChange").css({
            "color": "yellow"
        });
    }
});


1 commentaires

EDIT: Merci de répondre à l'origine, le code était avec un numéro ceci que je pourquoi j'oublie ''. Le problème est maintenant que lorsque vous sélectionnez une couleur, le texte change Colo pour quelques millisecondes, il retourne noir. Je pense que c'est un problème d'actualisation ou de quelque chose de similaire. Donc, lorsque je clique sur une couleur, le changement de couleur de texte pour un bit milliseconde puis la page actualisée et le texte renvoie noir. Comment puis-je éviter de rafraîchir?


4 Réponses :


0
votes

changer ceci:

var jcolor = ;

à ceci:

var jcolor = ' ';

Remarque: Ceci est vulnérable à XSS. Vous injecte du code directement à partir de l'entrée de l'utilisateur et cela est extrêmement dangereux. Désinfectez cette entrée avant d'imprimer dans la page.


1 commentaires

Merci mais travaille presque. Maintenant, le texte change pour un peu de milliseconde puis retourne noir. Peut-être qu'il y a un problème de boucle ou quelque chose de similaire



0
votes

Essayez de changer votre script par code ci-dessous, pas besoin de déclencher cliquez sur l'événement sur .Link car vous avez déjà cliqué sur le lien ( ) et a obtenu la couleur de l'URL , Également chaque fois que vous attribuez des valeurs à partir de la variable PHP à JS, mettez des citations simples ou doubles autour du code PHP comme celui-ci ' ' xxx


0 commentaires

0
votes

JS attend la valeur de chaîne et que Parce que plus tard, vous comparez vers si (jcolor == "rouge") {,

donc ce que vous faites réellement est d'affecter une variable à une autre qui est que je suis sûr qu'il vous imprimera une erreur si vous Recherchez la console Vous trouverez non défini de la variable mentionnée

Donc, tout ce dont vous avez besoin est simplement d'ajouter la valeur sous forme d'une chaîne à l'intérieur "" xxx


0 commentaires

0
votes

PHP (côté serveur) exécute en premier lorsque la page rechargée après PHP JavaScript (côté client) est exécutée ...

SO, P>

Ce code exécute d'abord lorsque la page Chargue p> xxx pré>

maintenant, la couleur est rouge p>

lorsque vous cliquez sur le lien fort> p>

P> P> P> P> Cette JS fonctionnera d'abord p> xxx pré>

Il changera la couleur, mais une fois cette page rechargée parce que vous avez cliqué sur le lien ... P>

maintenant, Laissez-vous cliqué sur vert p> xxx pré>

Votre nouvelle URL sera index.php? col = gre p>

Ce code fonctionnera à nouveau p>

<script>

        $(document).ready(function(){

            var jcolor = <?php echo $color; ?>;


            if (jcolor == "red") {
                $(".toChange").css({"color": "red"});

            }
            if (jcolor == "gre") {
                $(".toChange").css({"color": "green"});

            }
            if (jcolor == "yel") {
                $(".toChange").css({"color": "yellow"});

            }


        });

        </script>


0 commentaires