Afficher le résultat d'un formulaire dans une iframe [résolu 2FOIS]

Afficher le résultat d'un formulaire dans une iframe [résolu 2FOIS] - HTML/CSS - Programmation

Marsh Posté le 28-10-2008 à 18:50:56    

Bonjour à tous,
 
Alors voilà j'ai conçu une div qui est un outil de recherche avec un petit bouton Go!
Dessous j'ai une iframe en display block='none'.
Ce que je voudrais c'est que quand quelqu'un clique sur Go, les paramètres de l'outil de recherche soit envoyés à l'iframe en méthode post.
 
Pour l'instant j'ai mon outil de recherche qui disparait à chaque fois.
A la limite la méthode get fonctionnerait mais on verrait dans les sources javascript comment je construis mon url, et ça je voudrais éviter autant que faire se peut.
 
Marchi du coup de patte !


Message édité par ledzep2 le 18-02-2009 à 17:18:47
Reply

Marsh Posté le 28-10-2008 à 18:50:56   

Reply

Marsh Posté le 28-10-2008 à 19:25:10    

et sinon, pourquoi ne pas envoye rla requete au serveur avec xml_http_request ?  
ca evite d'avoir besoin de l'iframe

Reply

Marsh Posté le 28-10-2008 à 19:41:47    

Et si tu as vraiment besoin de ton iframe, tu peux rajouter la propriété "target" à ta balise "form", avec comme valeur le nom (propriété "name" ) de ton Iframe. Et zou, ta requète sera redirigée vers ton iframe.

Reply

Marsh Posté le 29-10-2008 à 15:47:26    

Ah beh voilà t'as tout bon !
Avec l'attribut target ça marche impecc, suffit de donner un name a mon iframe et ça roule ma poule!
Merci les gars!

Reply

Marsh Posté le 18-02-2009 à 15:53:06    

En fait quand je clique sur le bouton ça affiche correctement le résultat. Si je clique une deuxième fois j'aiune page blanche. La blank page est uniquement sur IE.Si j'agrandit la fenêtre d'IE ou la modifie en fait, hop d'un coup le résultat s'affiche. Comment ça se fait ?

Reply

Marsh Posté le 18-02-2009 à 16:12:59    

Au hasard, tu es tombé sur un des 1258693285738239 bugs de IE. Ça m'est déjà arrivé ce genre de truc, quand IE décide de te massacrer complètement la mise en page pour une raison incompréhensible. Genre j'avais un div en "position: absolute" dans la balise <body>, avec "display: none" initialement. Lorsque je l'affichais avec un "display: block", pouf, le div.previousSibling était retaillé à 50% de sa largeur (hauteur ok). Jamais pigé pourquoi. Tu retaillais la fenêtre d'un pixel, et ça revenait dans l'ordre.
 
En général je rajoute un truc du genre div.innerHTML += '' ou div.className = "plop" sur l'élément où IE fait son caca nerveux. Apparement ça force IE à recalculer le layout. P...n, j'espère que IE8 sera moins pourri.


Message édité par tpierron le 18-02-2009 à 16:13:43
Reply

Marsh Posté le 18-02-2009 à 16:40:00    

Bon bah j'ai essayé le coup du inner += ça donne rien.
En tout cas ça fait plaisir de trouver quelqu'un qui a connu le probleme, parce que sur google, j'avais un peu l'impression d'être seul au monde.

Reply

Marsh Posté le 18-02-2009 à 16:47:35    

Et rajouter une classe bidon à className, ça donne quoi ?
 
Quand ce genre de truc arrive (que ta mise en page est massacrée, mais revient magiquement en retaillant la fenêtre), l'astuce est de trouver un moyen pour forcer IE a recalculer son layout, quitte à rajouter du contenu invisible. C'est pourri, mais au moins c'est à l'image de IE.

Reply

Marsh Posté le 18-02-2009 à 17:17:13    

Enorme.
Tout simplement énorme.
Je me demande encore comment c'est possible de trouver une astuce comme ça !?
Sur google y a rien de chez rien. Heureusement que t'es là tpierron!
Le className pour une iframe EST la bonne solution car c'est impossible de faire du innerHTML sur une iframe. En effet, elle lit un fichier src.
Vraiment un grand merci !
 
 
edit: je donne la même classe en plus! Elle est même pas à l'image d'IE c'est à dire bidon!


Message édité par ledzep2 le 18-02-2009 à 17:18:06
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed