ajouter php jquery
Je suis en train de créer dynamiquement un div pour afficher les messages d'erreur à l'aide de jquery. Je suis en mesure d'utiliser append() pour créer le code HTML assez facilement, mais j'ai besoin d'appeler une variable php pour afficher le contenu. Si je viens d'essayer d'ajouter du php d'ouverture et de fermeture des balises comme je le ferais normalement, la méthode append ne se comporte pas comme prévu et les sorties d'un ordre apparemment aléatoire de la section du milieu de la ligne.
Comment puis-je résoudre ce problème?
Voici le code jquery que je l'ai:
$(document).ready(function() {
var errors_php = "<?php echo validation_errors('<li>','</li>'); ?>";
$('#wrapper').append("<div id='errors'><ul>"+errors_php+"</ul></div>");
$('#errors').slideDown('slow');
});
Remarque: le validation_errors() la fonction est un codeigniter méthode. D'ailleurs, si je retire la errors_php variable à partir de l'append (), il fonctionne comme prévu, l'affichage d'un div vide.
EDIT:
Le code généré est:
<div id="errors"><ul>',''); ?></ul></div>
- Et ce qui est la sortie à l'écran?
- désolé @wowo_999 je ne suis pas. Le navigateur interprète le code généré ci-dessus et de les afficher comme prévu (avec un peu de css!).
- Connexes: stackoverflow.com/questions/168214/...
- Rasch, je viens de regarder jusqu'à la question et c'est exactement ce que je suis en train de faire. Malheureusement, je ne comprends pas les réponses comment ils l'ont résolu. Je n'ai jamais utilisé les données json avant. Où dois-je mettre ce morceau de code?!?!
- Ce ne la ligne
var errors_php = "<?php echo validation_errors('<li>','</li>'); ?>";
rendu que lorsque la page est chargée? Je veux dire, si vous allez dans l'Affichage de la Source et de regarder cette ligne, que voyez-vous? - il rend ce que j'ai appelé "code généré par le" dans le post original.
- Je pense que Lucanos est à la recherche de la ligne dans le code source (dans le navigateur, faire un clic droit et sélectionnez "afficher la source"). Qu'est-ce exactement
validation_errors()
retour. C'est différent de ce que le javaScript renvoie.
Vous devez vous connecter pour publier un commentaire.
Que par votre commentaire:
Les données JSON est tout simplement JavaScript Object Notation, donc, si vous définissez un code JavaScript d'une variable à une valeur JSON, il sera essentiellement recréer une copie de l'objet qui a été sérialisé en JSON en premier lieu.
devrait être:
Assurez-vous que la sortie de la PHP est correctement échappé. Si vous avez un guillemet ( "" ) dans le code de l'erreur, il va causer des problèmes. Essayez d'emballage
validation_errors
avecaddslashes
:validation_errors
et de ce que certains exemples de messages d'erreur pourrait être?<?php print_r(validation_errors('<li>','</li>')); ?>
Que faut-il imprimer?Vous ne pouvez pas exécuter du code PHP dans un fichier javascript, mais vous pouvez exécuter le html&code JS dans le fichier PHP.
Javascript s'exécute dans le navigateur de l'utilisateur.
PHP s'exécute sur le serveur. Il lit votre .les fichiers php, PHP s'exécute qu'il trouve, envoie du code HTML au navigateur, et les sorties.
Il n'y a pas de "spooky action at a distance" qui permet d'exécuter du code PHP à partir de dans le code Javascript.
Pour exécuter le html&code JS dans le fichier PHP, de faire quelque chose comme ci-dessous: