begin process at 2012 05 29 18:07:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Fonctionnement d'une propriété d'un navigateur

 > 

Remplacer window.open


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

Remplacer window.open

lundi 2 juin 2008 à 11:25:08 | Remplacer window.open

amateurjava


Bonjour,

je cherche à lancer la creation d'un pdf (par FPDF) à partir d'une page, les données provenant de champs de formulaire de cette page.

Jusqu'a présent, je récupérais les données du formulaire par document.getElementById('monform').moninput.value puis je lançait un window.open('mapagede creationdu pdf.php?mesinput=mesvaleurs','','');

Je cherche en fait à remplacer le window.open (car ouvre un navigateur avant de générer le pdf ... c'est pas beau) .
Il faudrait donc que je puisse lancer directement mon lien php ('mapagede creationdu pdf.php?mesinput=mesvaleurs') de ma page de formulaire comme je le ferais si mes données étaient déjà en format de variable php ($input1=mavaleur,...)

Qq'un a t il une idée ou une méthode à laquelle je n'ai pas pensé?

Faites vous plaisir !!
lundi 2 juin 2008 à 11:49:14 | Re : Remplacer window.open

bultez

Membre Club


Bonjour,

    pas sûr d'avoir compris....
    <form method="get" action="mapagede creationdu pdf.php?"...
       <... name="tes input" value="tes valeurs" ...

    ou alors tu veux causer d'AJAX ?
       appel php depuis javascript, réponse dans une variable
       donc sans recharger la page
       recherche xmlhttprequest ou ajax....
          j'ai une ch'tite fonction...    sur mon site
               http://marcel-bultez.chez-alice.fr/utilitaires/GAG/GAG.zip


                Cordialement            Bul         [mon Site]     [M'écrire]
lundi 2 juin 2008 à 12:20:02 | Re : Remplacer window.open

amateurjava

Excuse mon manque de clarté...

actuellement, j'ai un form sur une page php.
Appelons la form.php
<form name='x' id='x'>
<input type="text" name="input1">
<input type="text" name="input2">
<a href=# onclick="fonctionjavascript()">imprime</a>
</form>

le script :
fonction fonctionjavascript(){
a=document.getElementById('x').input1.value;
b=document.getElementById('x').input2.value;
window.open('impression.php?a='+a+'&b='+b,'','width=.......');//impression.php générant un pdf avec FPDF.
}

ça m'ouvre une popup puis ça lance la creation du pdf... ça marche mais c'est pas beau :>)

Je voudrais en fait lancer directement 'impression.php?a='+a+'&b='+b' de ma page form.php.

si a et b étaient des variables php, pas de pb car j'aurais fait
<a href='impression.php?a=<?=$a;?>&b=<?=$b;?>impression</a>
Je sais que ça marche.

par contre, actuellement les valeurs de a et b ne sont pas actuellement enregistrées dans $a et $b puisqu'aucun traitement n'a été fait.

J'espère avoir été clair...

Une idée?


Faites vous plaisir !!
lundi 2 juin 2008 à 12:41:13 | Re : Remplacer window.open

bultez

Membre Club


pourquoi tu passes par un window.open ???

<form name='x' id='x'
            action="impression.php"
            method="get"
            target="si tu veux une adresse pour la réponse"  >
    <input type="text" name="input1" />
    <input type="text" name="input2" />
    <input type="submit" value="imprime" />
</form>

    impression.php traitera $_GET['input1'] et $_GET['input2']
    la réponse du php sera afichée dans le target du form (par défaut = la page qui appelle )
    si tu ne veux rien afficher : id d'un iframe caché, ou ajax,
       qui lui reçoit la réponse dans une variable et dont tu fais ce que tu veux.


    ou je n'ai pas compris ton souci....


                Cordialement            Bul         [mon Site]     [M'écrire]
lundi 2 juin 2008 à 13:18:59 | Re : Remplacer window.open

amateurjava

j'utilise ajax car je veux pas de reload de la page (application de gestion) donc action="impression.php" j'ai oublié depuis longtemps... :>)

pour le window.open, c'est bien ce que je cherche à éviter

j'ai bien pensé utiliser un xmlhttprequest ou innerhtml (c'est plus simple) en créant un div avec display=none, mais ça marche pas.

Il existe pas une fonction javascript qui affiche une page sans avoir besoin d'une popup et sans reloader la page? (style header:location:impression.php en php)?

Faites vous plaisir !!

lundi 2 juin 2008 à 13:35:16 | Re : Remplacer window.open

bultez

Membre Club
pas simple hein !
    n'utilises pas window.open....
        fait un appel ajax à impression.php    et pis c'est tout...

                Cordialement            Bul         [mon Site]     [M'écrire]
lundi 2 juin 2008 à 13:43:57 | Re : Remplacer window.open

maelob

Membre Club
Salut,

Pour ma part quand je génére des fichiers je passe directiement par php (sans rechargement de page) un exemple (un fichier csv) vaut mieux que de longues explications :
J'ai mon lien sur la page
<a href="export_teams.php?prjid=1&amp;choix=teams"> Exporter les &eacute;quipes au format csv (excel)</a>

Et la page export_teams
if (!$file = fopen("./files/export_teams.csv", "w")) on_error ("Erreur lors de l'ouverture du fichier");//on ouvre
if (!fwrite($file, ",Numéro d'équipe, Nom, Prénom, login\n\n")) on_error("Imposible d'écrire dans le fichier");//on écrit
header('Content-Type: text/x-csv; charset=UTF-8');//type de fichier
header('Content-Disposition: attachment; filename="export_teams_1.csv"');//on donne le nom
readfile('./files/export_teams.csv');//fichier source à télécharger
fclose($file);//on ferme


Et pas besoin de javascript pas besoin de gerer les utilisateur qui ne l'ont pas activé et pas de problème de popup (après si tu fais pas en php ça existe aussi avec les autres langages coté serveur)

PS : on_error c'est une fonction perso ça affiche un message d'erreur pas important ici.


Maelo ou Elo --> Mon blog

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)
lundi 2 juin 2008 à 13:44:50 | Re : Remplacer window.open

maelob

Membre Club
J'ai pas précisé la j'ai écis qu'une ligne mais tu peux en écrire plus ;-)




Maelo ou Elo --> Mon blog

Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)
lundi 2 juin 2008 à 14:51:18 | Re : Remplacer window.open

amateurjava

Merci pour l'exemple maelob, j'utilise ce genre de script pour faire des dump de base.

si je fais un appel java, ça ne marche pas car impression.php génère un pdf avec FPDF
j'ai même essayé de creer un fichier intermediaire qui récupere les valeur javascript pour les convertir en variable php, puis lancer impression.php avec
a=$_GET["a"];
b=$_GET["b"];
header("location:impression.php?a=$a&b=$b");

mais je ne peut afficher le pdf...:
si je met un eval(xhr_object.responseText) en retour, il me met une erreur de syntaxe
si je creer un div et que je fais document.getElementById('lediv').innerHTML=xhr_object.responseText; il m'affiche le code du pdf mais ne m'ouvre pas le pdf...

une autre idée?



Faites vous plaisir !!
lundi 2 juin 2008 à 14:59:45 | Re : Remplacer window.open

bultez

Membre Club
tu veux donc appeler un .php qui crée un .pdf à afficher ?
    appel php avec ajax,  
        coté php créer un fichier .pdf,   retourner le nom de ce fichier
       coté html/javascript on pourra donc afficher ce fichier
    retourner le contenu du .pdf... je ne sais pas comment s'en sortir
       coté client...   peut-être est-ce possible ?

                Cordialement            Bul         [mon Site]     [M'écrire]

1 2

Cette discussion est classée dans : php, pdf, remplacer, window, open


Répondre à ce message

Sujets en rapport avec ce message

window.open code ??? [ par gilissen ] Bonjour,Alors voici mon problème1. J'ai crée un page php dans laquelle, j'ai mis un liens vers un autre page php<a target="_blank" href="<A href="http variable post php dans window.open [ par mageek06 ] Bonjour, j'ai une page "page1.php" dans laquelle j'ai un input text. J'aimerais récupérer cette variable sur une seconde page "page2.php" qui s'ouvr Probleme avec window.open [ par secman ] Bonjour,je voudrai faire saisir dans un champ un texte et lorsque j'appuie sur mon bouton j'ouvre plusieurs nouvelles fenetres avec comme adresse une PB avec une boucle FOR et Window.open [ par supernana66 ] Bonjour, J'ai un petit souci, voilà j'ai un truc du style : function ouvrir() { window.open(""); } <BODY ouverture d'une fenêtre avec window.open sans fermer la page en cours [ par LordByron57 ] bonjourje débute le dev site internetje pars d'une page contenant un formulaire et je propose au visiteur  d'envoyer un mail à mon adresse prédéifniej Open RPG un projet open source et gratuit [ par banbanfr ] Bonjour à tous, Je me présente pour ceux qui ne me connaisse pas, Banban de la communauté RPG Illusion (.fr) qui bosse actuellement sur un projet qui pdf et php [ par mmehdi88 ] Le nouveau développeur est venu :ChRif[^^pirate][^^happy10] slt tous le monde,j'ai réaliser une application web,cette application consiste a faire un Mixer window.open et self.resizeTo???? [ par jacknikolson ] Salut, je sais pas si ma question est bien posée car je suis pas du tout familier du JS...En fait je me demandais si il serait possible d'enrichir cet window.open [ par haprogra ] salut à tousest -ce que je peux utiliser la fonction window.open sans passer par un événement comme Onclick ou OnmouseOver?? Appeler window.open()... [ par Grand Mamamouchi ] Bonjour !Peux-tu me dire pourquoi onclick fonctionne et pas l'appel direct ?Merci d'avance.window.open('http://www.epita.fr')onclick=window.open('http


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 : 2,340 sec (3)

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