Aller au contenu

Sujets conseillés

Posté (modifié)

Bonjour,

NéoPhytum en PHP...

J'ai inséré dans mes pages un bouton "imprimer cette page" et créé un "print.css" qui supprime quelques éléments de ma page (il n' y a pas de page spéciale dédiée à l'impression).

Avec le bouton, j'ai mis le javascript suivant :

<script type="text/javascript">
function imprime() {
if (typeof(window.print) != 'undefined')
{ window.print(); }
}
</script>

et le lien suivant :

<a href="#" title="Imprimer le CV" onclick="imprime(); return false">

Tout est OK et fonctionne.

Ma question existe-til en PHP le même type d'appel ? Si oui, comment faire ? (j'essaie d'éviter le javascript...)

Merci

Modifié par Dudu
Posté

Salut,

A priori ca n'est pas faisable puisque le PHP s'exécute sur le serveur et non sur le client (navigateur) comme le javascript. Or l'impression est fortement liée au client.

A part de la mise en forme, je pense pas que tu puisse aller très loin.

Posté
Salut,

A priori ca n'est pas faisable puisque le PHP s'exécute sur le serveur et non sur le client (navigateur) comme le javascript. Or l'impression est fortement liée au client.

A part de la mise en forme, je pense pas que tu puisse aller très loin.

Merci "NorSeb", j'avais oublié le côté serveur (néophyte que je suis) :angry:... il est probable que tu es raison.

Posté (modifié)

Dans ce genre de cas, il est préférable d'encapsuler l'appel au <a> dans du JS.

Ainsi:

- avec JS activé: on a le lien ET la fonction d'impression

- sans JS activé: on n'a pas la fonction mais au moins on n'a pas un lien qui sert à rien (ex. type: "ah ben tiens ton truc il m'a rajouter un # à la fin de l'URL, c'est normal? :huh:")

Le document.createElement peut du coup te servir ;)

PS: et effectivement PHP n'a pas grand chose à voir. Quant à éviter le JS non il ne faut pas tout confondre. Javascript est très utile pour ce genre de choses non-indispensables. Par contre il faut l'éviter pour afficher le contenu informatif de sa page.

Je déplace le sujet vers des lieux plus propices... (edit: et je retire le mot PHP du titre)

Modifié par Dudu
Posté
Dans ce genre de cas, il est préférable d'encapsuler l'appel au <a> dans du JS.

(...)

Le document.createElement peut du coup te servir ;)

Merci Dudu,

Je ne suis pas un pro du Javascript non plus :boude:

J'ai bien trouvé de la doc sur "document.createElement" : http://fr.selfhtml.org/javascript/objets/document.htm

J'ai essayé... mais rien à faire... je n' y arrive pas... (je me suis basé sur l'exemple du site cité plus haut)

Peux-tu me donner quelques conseils ?

Merci

Posté

Salut,

Moi non plus je ne suis pas un pro du Javascript mais mes tests, librement basés sur l'exemple que tu donnes, ont été assez concluants ;)

Laisse ton code de script tel quel (le premier que tu as donné dans ton 1er message)

Par contre, pour le lien vire-le, et l'image qui le précéde également (elle n'a rien à faire dans le code HTML, c'est de la présentation donc du CSS)

Tu te retrouves donc avec un div tout vide

<div align="center"></div>

que tu vas légèrement modifier pour lui attribuer un id

<div align="center" id="imprimer"></div>

Et juste en dessous, tu mets çà

<script type="text/javascript">
<!--
var impression = document.createElement("a");
var texte_impression = document.createTextNode("Imprimer le CV");
impression.appendChild(texte_impression);
impression.href = 'javascript:imprime()';
var imprimersortie = document.getElementById("imprimer");
imprimersortie.appendChild(impression);
//-->
</script>

Ensuite, dans ta feuille de style, tu rajoutes

#imprimer a {background:transparent url(/webmaster/imprimer.gif) no-repeat; padding-left:20px;}

c'est l'icône de l'imprimante que tu as virée de l'HTML et que l'on remet via du CSS ;)

Posté

Merci Dudu de ta réponse et de ton intérêt...

Cela fonctionne impéccablement... et corresponds totalement à mon besoin.

Merci encore

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...