Prendre le code postal dans un nouveau champ dans une nouvelle fenêtre

J'ai un champ de lecture unique sur un champ html qui a un nom de _Dataaddr_postcode. Je dois maintenant capturer ces données et la passer dans une nouvelle fenêtre qui charge un autre fichier (proxcomp.asp) et utiliser les données dans un champ de cette page le Champ a une ID d'inpAddr.

J'ai maintenant ce code

<script type="text/javascript"> var pcodeStart = document.getElementbyId("_Dataaddr_postcode"); var newWindow; function makeNewWindow( ) { if (!newWindow || newWindow.closed) { newWindow = window.open("../hpwprox/proxcomp.asp","sub","status=0,title=0,height=600,width=800"); setTimeout("writeToWindow( )", 50); } else if (newWindow.focus) { newWindow.focus( ); } } </script> <input type="button" value="Create New Window" onclick="makeNewWindow();" /> 

Quelqu'un peut-il me dire comment procéder avec un exemple de code?

Merci

Justin.

Passer juste ce champ comme entrée de formulaire au script côté serveur:

 var genForm = document.createElement("form"); genForm.target = "sub"; genForm.method = "get"; // or "post" if appropriate genForm.action = "../hpwprox/proxcomp.asp"; var genInput = document.createElement("input"); genInput.type = "hidden"; genInput.name = "inpAddr"; genInput.value = pcodeStart.value; genForm.appendChild(genInput); document.body.appendChild(genForm); if(!newWindow || newWindow.closed) { window.open("", "sub", "status=0,title=0,height=600,width=800"); } else if(newWindow.focus) { newWindow.focus(); } genForm.submit(); 

Si vous souhaitez utiliser le code côté client pour définir une zone de texte dans la fenêtre contextuelle plutôt que sur le code côté serveur, vous devez le faire à partir de la fenêtre contextuelle pour éviter le délai que vous ajouteriez autrement et le temps de chargement de la page à partir de «Se disputer» les uns les autres. En JavaScript, les variables globales sont des propriétés de l'objet de fenêtre dans window.opener elles existent et window.opener donne la fenêtre qui l'a ouvert. Notez qu'en raison de la même politique d'origine , les deux fenêtres doivent avoir le même protocole, le nom d'hôte et le même numéro de port dans leurs URL.

 // Using the variable referring to the text box: document.getElementById('inpAddr').value = window.opener.pcodeStart.value; // Or even using getElementById directly: document.getElementById('inpAddr').value = window.opener.document.getElementById('inpAddr').value 

Vous pouvez omettre la window. Partie de window.opener si vous le souhaitez, à condition que vous n'utilisiez aucune variable appelée opener .

Peut-être faire ceci:

 newWindow.document.getElementById('inpAddr').value = pcodeStart; 

Ou à partir de la fenêtre ouverte:

 document.getElementById('inpAddr').value = opener.document.getElementbyId("_Dataaddr_postcode").value; 

Lisez cet excellent article !