11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

je voudrais insérer un formulaire dans une popup mais je ne sais pas comment faire Smiley sweatdrop , pouvez vous m'aider ??

voici mon code html :
<a href="javascript:traductionElement();">traduction</a>
<div id="test" />


voici le javascript correspondant :
function traductionElement(){
	 titre=document.createElement("h1");
	 titre.appendChild(document.createTextNode("formulaire"));
	 traduction=document.createElement("input");
	 traduction.setAttribute("type", "text");
	 traduction.setAttribute("name", "traduction");
	 traduction.setAttribute("value", "...");
	 envoyer=document.createElement("input");
	 envoyer.setAttribute("type", "submit");
	 envoyer.setAttribute("name", "submit");
	 envoyer.setAttribute("value", "Submit");	 
	 form=document.createElement("form");
	 form.setAttribute("name", "TraductionElementForm");
	 form.setAttribute("method", "POST");
	 form.setAttribute("action", "/TraductionElement.do");
	 form.appendChild(titre);
	 form.appendChild(traduction);
	 form.appendChild(envoyer);
	 div=document.createElement("div");
	 div.appendChild(form);
	 document.getElementById("test").appendChild(div);
}


dans mon exemple je l'insère dans mon doc html de base mais j'aimerai bien ouvrir une popup et mettre mon formulaire dedans !


merkiii de m'aider

++

poich
Modifié par Poich (25 Apr 2005 - 11:16)
En fait, la méthode la plus propre pour ne pas discriminer les gens qui n'ont pas le JavaScript activé est de refaire une page où tu mettras ton formulaire. Et ensuite, tu ouvres le formulaire dans un popup avec une méthode propre :
<a href="formulaire.html" onclick="window.open(this.href, '_blank'); return false;">Cliquez ici</a>


Mais en fait, pourquoi vouloir l'ouvrir dans un popup ? Le mettre sur ta page normalement ne suffit pas ?
oui mais en fait tout celà va être dynamique. ça va être un formulaire permettant de traduire des éléments de mon site.
les appels en javascript seront créer dynamiquement et je passerai les param' correspondant.

Pour ce qui est des gens qui n'ont pas JavaScript c'est pas grave car c'est juste ici une fonctionnalité rapide mais ça sera accessible d'un autre endroit.

Mais si je ne trouve pas comment faire pour l'inclure dans ma popup j'essayerai de me rapprocher de ta soluce ! Smiley biggrin
Mais pour l'instant je reste sur mon idée ...

merkiiii
OK...
<script type="text/javascript">
<!--
function traductionElements()
{
popup = window.open('', 'popup', 'height=800, width=600');
popup.document.write('<form action="?" method="post">');
popup.document.write('<div><input type="submit" value="Valider" /></div>');
popup.document.write('</form>');
}
-->
</script>

<a href="javascript:traductionElements();">Cliquez ici</a>

Modifié par Nyro Xeo (23 Apr 2005 - 15:47)
thx

mais je pensais que "document.write" n'était pas compatible avec tous les navigateurs et que la meilleure façon était de passé par le DOM (avec des appendChild). non ??

mais ça marche alors ça me va !


PS : je garde ta 1ère soluce dans un coin de ma tête Smiley lol j'vais essayer de l'implémenter...
en fait j'utilise ta 1ère solution !! Smiley murf

tu sais comment je peux faire un lien fermer la fenetre qui fermerait la popup et qui rechargerait la page qui l'a ouverte (sa page parent) ??


merciii
Modifié par Poich (24 Apr 2005 - 11:56)
Poich a écrit :
mais je pensais que "document.write" n'était pas compatible avec tous les navigateurs et que la meilleure façon était de passé par le DOM (avec des appendChild). non ??


je voudrais quand même savoir !
Poich a écrit :
thx

mais je pensais que "document.write" n'était pas compatible avec tous les navigateurs et que la meilleure façon était de passé par le DOM (avec des appendChild). non ??

mais ça marche alors ça me va !


PS : je garde ta 1ère soluce dans un coin de ma tête Smiley lol j'vais essayer de l'implémenter...


document.write fait partie des méthodes communes. donc, elle passe partout.
le Dom est parfois mal implémenté chez certains navigateurs.
Smiley eek Smiley eek on m'avait dit le contraire !!

Smiley fache on ne peut plus faire confiance de nos jours ...

merkiiiii à tous ! Smiley lol

poich