Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Prototype & Script.aculo.us
Prototype & Script.aculo.us Forum d'entraide sur les frameworks Prototype et Script.aculo.us
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/07/2007, 14h39   #1
Inscrit
 
Inscription : septembre 2005
Messages : 260
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 260
Points : 98
Points : 98
Par défaut [DOM] Popup avec prototype-window

Bonjour,

Ce message est un doublon j’espère que l'Admin ne l’efface pas car il ni a pas de réponse dans le forum ajax.



Voila un petit code pour deux pages qui permet d’envoyer les valeurs des champs d’un popup vert la page principale.

Ce que je voudrais c’est ouvrir ce même popup avec cette source http://prototype-window.xilinus.com/samples.html, mais je n’arrive pas a l’adapter.

Pouvez-vous m’aider SVP.


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!-- Principale index.php --><!-- Principale index.php -->
<form name="fmaddFacture">
<input name="d0" id="d0" type="text" value="" />
<input name="d1" id="d1" type="text" value="" />
<input type="button" value="ouvrir le popup" '+
' onclick="OuvrirPopup();" />
</form>
<script type="text/javascript">
function setSearch(controleur) {
var MonControleur = document.getElementById(controleur);
MonControleur.onclick = function() {search()};
MonControleur.onblur = function() {search()};
MonControleur.onkeyup = function() {search()};
MonControleur.onkeypress = function() {search()}; }
function OuvrirPopup() {
window.open('produits.php?req='+document.getElementById("d0").value,'formsearch','height=500,width=500,menubar=no,status=no'); }
function search() {
var myd0 = document.getElementById("d0");
var myd0 = document.getElementById("d1");
var jsd0 = document.getElementById("jsd0"); }           
setSearch('d0');
</script>
<label for="d0" id="jsd0"> </label>

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!-- popup produits.php --><!-- popup produits.php -->
<html>
<head>
<title>Zone de recherche</title>
<script type="text/javascript">
<!--
function exporter() {
var choix=document.getElementById("toto0");
window.opener.document.forms["fmaddFacture"].elements["d0"].value=choix.value;
var choix=document.getElementById("toto1");
window.opener.document.forms["fmaddFacture"].elements["d1"].value=choix.value;
}
-->
</script>
</head>
<body>
<div style="text-align: center;">
<form>
<p><input type="text" value="" id="toto0" name="toto0" /></p>
<p><input type="text" value="" id="toto1" name="toto1" /></p>
<p><input type="button" value="renvoyer" onclick="exporter();" /></p>
</form>
</div>
</body>
</html>
Merci d'avance
Akim13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2007, 14h56   #2
Inscrit
 
Inscription : septembre 2005
Messages : 260
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 260
Points : 98
Points : 98
Bonjour,

Voila je vous donne plus de détail
Celle-ci est la fonction qui ouvre le popup

Code :
1
2
3
function OuvrirPopup() {
window.open('produits.php?req='+document.getElementById("d0").value,'formsearch','height=500,width=500,menubar=no,status=no');
}
Je voudrais l’adapter pour que le popup démarre de cette façon


Code :
1
2
3
4
5
function outsideWindow() {
var win = new Window("win2", {className: "alphacube",  top:0, left:0, width:800, height:1200, maximizable: true, minimizable: true,
url: "produits.php", showEffectOptions: {duration:1.5}})
win.show();  
 }

Bien sur le popup démarre mais j’ai une erreur quand je click sur envoyer

Erreur 'window.opener.document' a la valeur Null ou n'est pas un objet.


Merci d'avance
Akim13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2007, 15h48   #3
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 121
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 121
Points : 45 272
Points : 45 272
rien de plus normal...
Avec window prototype ce ne sont plus de vraies popup, ce sont des div dans la même page.
(Et normal aussi que tu n'aies pas de réponse dans le forulm ajax, rien à voir avec ajax c'est du DOM...)

Le truc c'est donc que ta "popup" et tout son contenu font partie de ta page donc pas de opener ...

Code :
window.opener.document.forms["fmaddFacture"].elements["d1"].value=choix.value;
devient:

Code :
document.forms["fmaddFacture"].elements["d1"].value=choix.value;
puisque c'est sur la même page
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2007, 16h31   #4
Inscrit
 
Inscription : septembre 2005
Messages : 260
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 260
Points : 98
Points : 98
Bonjour,

J’ai toujours une erreur

Erreur : 'document.forms.fmaddFacture.elements' a la valeur Null ou n'est pas un objet.



Avez vous une autre solution

Merci d'avance
Akim13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2007, 16h52   #5
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 121
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 121
Points : 45 272
Points : 45 272
c'est que tu essaye d'ouvrir deux fois la même fenetre ...
il faut la detruire avant de vouloir la réouvrir ...
ou alors ouvrir une autre fenetre ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2007, 18h19   #6
Inactif
 
Avatar de Hibou57
 
Inscription : mars 2006
Messages : 852
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 852
Points : 398
Points : 398
Juste une petite question un peu hors-sujet, qui me vient en lisant le code. On voit souvent ceci :
Code JavaScript :
... = function() {search()};
et pourquoi pas
Code JavaScript :
... = search;
?
Parce que sauf erreur de ma part, les fonctions sont passées par référence, et non pas par valeur (ce n'est pas le code qui est assigné à la propriété, mais une référence). Quelle est la raison de cette manière de faire ?
Hibou57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2007, 18h55   #7
Inscrit
 
Inscription : septembre 2005
Messages : 260
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 260
Points : 98
Points : 98
Bonjour,

Je ne sais pas, je sais par contre qu’un débutant n’utilise jamais les boucles, LOL
C’est pour dire que je débute, Je rectifie mon code,

Mais avez-vous une solution a mon problème je n’arrive pas a appliquer la méthode proposer par SpaceFrog


Merci
Akim13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2007, 09h15   #8
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 121
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 121
Points : 45 272
Points : 45 272
dans la doc prototype il est dit comment detruire une fenetre ou y assigner un nouveau contenu ...
Un traduction de la doc devrait bientot être disponible ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2007, 14h57   #9
Inscrit
 
Inscription : septembre 2005
Messages : 260
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 260
Points : 98
Points : 98
Bonjour,

J’ai aucune fenêtre déjà ouvert voila j’ai avancer mais avec un nouveau message


Erreur : 'document.forms.fmaddFacture.elements' a la valeur Null ou n'est pas un objet.


si vous avez telecharger prototype-window
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
 
<form name="fmaddFacture">
<input name="d0" id="d0" type="text" value="" />
<input name="d1" id="d1" type="text" value="" />
<input type="button" value="ouvrir le popup" '+
' onclick="OuvrirPopup();" />
</form>
 
<script type="text/javascript">
function setSearch(controleur) {
var MonControleur = document.getElementById(controleur);
MonControleur.onclick = function() {search()};
MonControleur.onblur = function() {search()};
MonControleur.onkeyup = function() {search()};
MonControleur.onkeypress = function() {search()}; }
 
function OuvrirPopup() {
window.open('produits.php?req='+document.getElementById("d0").value,'formsearch','height=500,width=500,menubar=no,status=no');
}
function search() {
var myd0 = document.getElementById("d0");
var myd0 = document.getElementById("d1");
var jsd0 = document.getElementById("jsd0"); }           
setSearch('d0');
</script>
<label for="d0" id="jsd0"> </label>
 
 
 
 
<html xmlns="http://www.w3.org/1999/xhtml" version="-//W3C//DTD XHTML 1.1//EN" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 
 
 
<style> * {
margin: 0px;
padding: 0px; }
body { background:#DDD;
font-family: verdana, arial, sans-serif;
font-size:14px; }
#container { float:left;
margin-top:100px;
font-family: Tahoma, Arial, sans-serif;
font-size: 10px;
} </style>
 
<script type="text/javascript" src="../javascripts/prototype.js"> </script> 
<script type="text/javascript" src="../javascripts/effects.js"> </script>
<script type="text/javascript" src="../javascripts/window.js"> </script>
<script type="text/javascript" src="../javascripts/window_effects.js"> </script>
<script type="text/javascript" src="../javascripts/debug.js"> </script>
<link href="../themes/default.css" rel="stylesheet" type="text/css" >	 </link>
<link href="../themes/theme1.css" rel="stylesheet" type="text/css" >	 </link>
<link href="../themes/mac_os_x.css" rel="stylesheet" type="text/css" >	 </link>
<link href="../themes/alphacube.css" rel="stylesheet" type="text/css" >	 </link>
<link href="../themes/darkX.css" rel="stylesheet" type="text/css" >	 </link>
<link href="../themes/spread.css" rel="stylesheet" type="text/css" >	 </link>
<link href="../themes/alert.css" rel="stylesheet" type="text/css" >	 </link>
<link href="../themes/alert_lite.css" rel="stylesheet" type="text/css" >	 </link>
</head>
 
 
<script>
win3 = new Window('dialog3', {className: "spread", title: "Not Closable", 
top:10, right:20, width:300, height:200, 
closable: false, url: "produits.php", showEffectOptions: {duration:3}})
win3.show();
</script>
</body>
</html>

Avez vous une autre solution

Merci d'avance
Akim13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2007, 17h58   #10
Inscrit
 
Inscription : septembre 2005
Messages : 260
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 260
Points : 98
Points : 98
Bonjour,

Voila probleme resolu merci SpaceFrog

Code :
1
2
3
4
5
6
7
8
9
<script type="text/javascript">
<!--
function exporter() {
var choix = document.getElementById("toto0");
top.document.forms["fmaddFacture"].elements["d0"].value=choix.value;
var choix=document.getElementById("toto1");
top.document.forms["fmaddFacture"].elements["d1"].value=choix.value; }
-->
</script>
Merci encore
Akim13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h36.


 
 
 
 
Partenaires

Hébergement Web