2013-05-31 4 views
-8

J'essaie d'utiliser le code PHP en Javascript. Malheureusement, quelque chose ne va pas.Php echo en javascript - ne fonctionne pas

Essayez sur localhost, wampserver.

Ceci est une partie de la validation jquery:

"onlyNumber":{ 
    "regex":"/^[0-9\ ]+$/", 
    "alertText":"<?php echo 'This is the message' ?>"}, 

Toute idée pourquoi cela me donne fenêtre de message?

Merci

L'extension de fichier est PHP. Le fichier Js est inclus fin de mon php (avant).

<script type="text/javascript" src="js/all.js"></script> 

Essayé de fermer la commande echo avec;

+0

Quelle est l'extension de votre fichier - html, php, phtml? – enenen

+2

JS est exécuté côté client, PHP nécessite une exécution côté serveur. Cela ne marchera jamais. –

+9

@BhashitParikh Si le script est rendu sur le serveur avant de l'envoyer au client, cela fonctionnera. – Yoshi

Répondre

6

Votre fichier doit être exécuté en PHP. La façon la plus simple de le faire est simplement de renommer le fichier javascript pour avoir l'extension .php. J'aime appeler mes fichiers par exemple. main.js.php.

Ici, vous collez le code javascript brut/mixte PHP.

document.write("<?php echo "foo"; ?>"); 

..et vous vous référez juste comme normalement:

<script type="text/javascript" src="lib/js/main.js.php"></script> 

Si vous voulez obtenir la fantaisie supplémentaire et « cacher » le fait qu'il est un fichier PHP, vous pouvez faire une simple réécriture dans htaccess:

RewriteEngine On 
RewriteRule ^lib/js/main.js$ /lib/js/main.js.php 

et maintenant juste faire référence au fichier js comme si elle existait réellement:

<script type="text/javascript" src="lib/js/main.js"></script> 
+0

ou quelque chose comme 'AddType application/x-httpd-php .js' – Yoshi

+0

@Yoshi Vous pourriez le faire. Vous pouvez même l'enrouler autour d'un conteneur '' pour vous assurer que vous n'atteignez que ce fichier (vous ne voulez sûrement pas que chaque fichier JS passe par PHP). – h2ooooooo

+0

Merci. C'est le travail. Faire l'affaire! – holian