Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

popup en javascript et fenêtre appelante

2 réponses
Avatar
Sébastien Delestre
Bonjour,

Je viens de créer une page contenant 2 textbox ainsi qu'une autre page
contenant un datalist.
Sur la seconde page, ouverte sous forme de pop up, je récupère dans mon
datalist divers info que je transfert vers les 2 texbox de la fenêtre
appelante.

Tout marche parfaitement, cependant, au début, mes 2 texbox de la première
page était des composant avec la balise "runat=server", or, je ne pouvais
pas les remplir depuis mon pop up, ca me disait qu'il n'existait pas dans
mon form.

Ma question est donc pourquoi la balise runat=server m'a bloqué au début.

############################################################################
#
Extrait du code du pop up (a part le remplissage du datalist dans le code
behind, il n'y a rien dans ASPX.VB) :
############################################################################
#
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="ville.aspx.vb"
Inherits="LocOnNet.ville"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<script language="javascript">
function Reporter(ID,ville)
{
var choix;
choix = ville.replace(/[`]/g,"'");
window.opener.document.forms[0].elements["txt_Ville"].value=choix;
window.opener.document.forms[0].elements["txt_Id_Ville"].value=ID;
window.close();
}</script>
<title>ville</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5"
name="vs_targetSchema">
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<P>Saisissez le nom de la ville ou se situe votre logement et cliquez sur
Envoyer.</P>
<P><INPUT id="txt_Ville" style="WIDTH: 224px; HEIGHT: 22px" size="32"
name="T1" runat="server">&nbsp;
<asp:button id="btn_Send" runat="server"
Text="Rechercher"></asp:button></P>
<P><asp:datalist id="lst_Ville" runat="server" DataKeyField="VILLE_ID">
<ItemTemplate>
<a href='#' OnClick="Reporter('<%# DataBinder.Eval(Container.DataItem
,"ville_ID")%>','<%# Replace(DataBinder.Eval(Container.DataItem
,"ville_Libelle"),"'","`")%>');"><%# DataBinder.Eval(Container.DataItem
,"ville_CP")%> <%# DataBinder.Eval(Container.DataItem
,"ville_Libelle")%></a>
</ItemTemplate>
</asp:datalist></P>
</form>
</body>
</HTML>

2 réponses

Avatar
Sébastien Delestre
PS, maintenant j'ai un autre problème, je ne peux plus accéder à mes 2
texbox.

me.txt_Ville.Value m'est souligné par VS car il ne voit pas txt_Ville
idem pour l'autre textbox

Merci de votre aide

"Sébastien Delestre" a écrit dans le message de
news:
Bonjour,

Je viens de créer une page contenant 2 textbox ainsi qu'une autre page
contenant un datalist.
Sur la seconde page, ouverte sous forme de pop up, je récupère dans mon
datalist divers info que je transfert vers les 2 texbox de la fenêtre
appelante.

Tout marche parfaitement, cependant, au début, mes 2 texbox de la première
page était des composant avec la balise "runat=server", or, je ne pouvais
pas les remplir depuis mon pop up, ca me disait qu'il n'existait pas dans
mon form.

Ma question est donc pourquoi la balise runat=server m'a bloqué au début.




############################################################################
#
Extrait du code du pop up (a part le remplissage du datalist dans le code
behind, il n'y a rien dans ASPX.VB) :



############################################################################
#
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="ville.aspx.vb"
Inherits="LocOnNet.ville"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<script language="javascript">
function Reporter(ID,ville)
{
var choix;
choix = ville.replace(/[`]/g,"'");
window.opener.document.forms[0].elements["txt_Ville"].value=choix;
window.opener.document.forms[0].elements["txt_Id_Ville"].value=ID;
window.close();
}</script>
<title>ville</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5"
name="vs_targetSchema">
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<P>Saisissez le nom de la ville ou se situe votre logement et cliquez


sur
Envoyer.</P>
<P><INPUT id="txt_Ville" style="WIDTH: 224px; HEIGHT: 22px" size="32"
name="T1" runat="server">&nbsp;
<asp:button id="btn_Send" runat="server"
Text="Rechercher"></asp:button></P>
<P><asp:datalist id="lst_Ville" runat="server" DataKeyField="VILLE_ID">
<ItemTemplate>
<a href='#' OnClick="Reporter('<%#


DataBinder.Eval(Container.DataItem
,"ville_ID")%>','<%# Replace(DataBinder.Eval(Container.DataItem
,"ville_Libelle"),"'","`")%>');"><%# DataBinder.Eval(Container.DataItem
,"ville_CP")%> <%# DataBinder.Eval(Container.DataItem
,"ville_Libelle")%></a>
</ItemTemplate>
</asp:datalist></P>
</form>
</body>
</HTML>




Avatar
Sébastien Delestre
J'ai trouvé, les textbox de ma page appelante se trouve dans un user
control, donc dans mon popup je dois les appeler comme ceci :

window.opener.document.forms[0].elements["monusercontrol:txt_Ville"].value=c
hoix;

J'ai vu cette subtilité dans le code html de la page appelante, j'aurais du
pensé à y regarder avant.
Désolé du dérangement, on va dire que je suis excusé car je bricole même le
dimanche ;-)



"Sébastien Delestre" a écrit dans le message de
news:
PS, maintenant j'ai un autre problème, je ne peux plus accéder à mes 2
texbox.

me.txt_Ville.Value m'est souligné par VS car il ne voit pas txt_Ville
idem pour l'autre textbox

Merci de votre aide

"Sébastien Delestre" a écrit dans le message


de
news:
> Bonjour,
>
> Je viens de créer une page contenant 2 textbox ainsi qu'une autre page
> contenant un datalist.
> Sur la seconde page, ouverte sous forme de pop up, je récupère dans mon
> datalist divers info que je transfert vers les 2 texbox de la fenêtre
> appelante.
>
> Tout marche parfaitement, cependant, au début, mes 2 texbox de la


première
> page était des composant avec la balise "runat=server", or, je ne


pouvais
> pas les remplir depuis mon pop up, ca me disait qu'il n'existait pas


dans
> mon form.
>
> Ma question est donc pourquoi la balise runat=server m'a bloqué au


début.
>
>



############################################################################
> #
> Extrait du code du pop up (a part le remplissage du datalist dans le


code
> behind, il n'y a rien dans ASPX.VB) :
>



############################################################################
> #
> <%@ Page Language="vb" AutoEventWireup="false"


Codebehind="ville.aspx.vb"
> Inherits="LocOnNet.ville"%>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
> <HTML>
> <HEAD>
> <script language="javascript">
> function Reporter(ID,ville)
> {
> var choix;
> choix = ville.replace(/[`]/g,"'");
> window.opener.document.forms[0].elements["txt_Ville"].value=choix;
> window.opener.document.forms[0].elements["txt_Id_Ville"].value=ID;
> window.close();
> }</script>
> <title>ville</title>
> <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
> <meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
> <meta content="JavaScript" name="vs_defaultClientScript">
> <meta content="http://schemas.microsoft.com/intellisense/ie5"
> name="vs_targetSchema">
> </HEAD>
> <body>
> <form id="Form1" method="post" runat="server">
> <P>Saisissez le nom de la ville ou se situe votre logement et cliquez
sur
> Envoyer.</P>
> <P><INPUT id="txt_Ville" style="WIDTH: 224px; HEIGHT: 22px" size="32"
> name="T1" runat="server">&nbsp;
> <asp:button id="btn_Send" runat="server"
> Text="Rechercher"></asp:button></P>
> <P><asp:datalist id="lst_Ville" runat="server"


DataKeyField="VILLE_ID">
> <ItemTemplate>
> <a href='#' OnClick="Reporter('<%#
DataBinder.Eval(Container.DataItem
> ,"ville_ID")%>','<%# Replace(DataBinder.Eval(Container.DataItem
> ,"ville_Libelle"),"'","`")%>');"><%# DataBinder.Eval(Container.DataItem
> ,"ville_CP")%> <%# DataBinder.Eval(Container.DataItem
> ,"ville_Libelle")%></a>
> </ItemTemplate>
> </asp:datalist></P>
> </form>
> </body>
> </HTML>
>
>