News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Popup

Started by Jefekoi, February 07, 2017, 12:59:47 AM

Previous topic - Next topic

Jefekoi

Bonjour,

J'utilise le forum SMF 2.0.13

j'ai créé un script d'hébergement d'images, script venant de ce site : http://www.uploadify.com/demos/

Ce script s'ouvre dans un popup , le souci c'est que nous sommes obligé de copier le résultat pour venir le coller dans les messages (voir photo)




Je voudrais ajouter un bouton pour envoyer le résultat dans le message directement.

J'ai réussi à le faire seulement j'ai un petit problème si je commence à mettre un début de message et après je veux ajouter une photo le script ne marche pas, pour qu'il fonctionne il faut que la zone texte (celle que je suis actuellement en train d'écrire) soit vide..

Avez vous une idée ? ou un exemple que je puisse réparer ce problème ?

Mieux que des explications voici un petit exemple vite fait . : http://www.lavieamulhouse.com/exemple/


Merci pour votre aide

Bonne journée



maximus23

Bonjour,

J'ai testé sur ton lien avec IE10 et j'ai pas eu de soucis il est bien passé avec du texte on non dans la fenêtre mère.

:)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

Jefekoi

Chez moi (sur MAC) ça ne marche pas avec Firefox et safari ..

Je pense qu'il y a un truc à modifier dans le script mais quoi ????

fenêtre mère :

Quote
            <script type="text/javascript">
<!--
var fenFille;
var chargeOk = "false";

function ouvrirFenFille()
{
  if (chargeOk=="false")
 
     fenFille = window.open('popup.html','','toolbar=0,location=0,directories=0, status=0,scrollbars=0,resizable=0,copyhistory=0,menuBar=0,width=680,height=500');
}

function changeURLPageFille(url)
{
  if (chargeOk=="true")
  {
   fenFille.location.href = url;
  }
}

//-->
            </script>


Fenêtre fille :

Quote
<script type="text/javascript">
<!--
function charge()
{
window.opener.chargeOk = "true";
}
function decharge()
{
window.opener.chargeOk = "false";
}
function changePage(url)
{
window.opener.changeURLPageFille(url);
}

function transmetInfos()
{
var data =   document.getElementById("montexteDossier").value;



window.opener.document.getElementById("message").innerHTML += '\n' + data;
}
//-->
</script>
En cliquant sur le bouton "Validez" la zone texte devrait aller dans la zone texte de la fenetre "mère"
<textarea name="montexte" id="montexteDossier" cols="80" rows="10"></textarea><br/>
<input type="button" value="Validez" id="idButton" onClick="transmetInfos()"/>

alexetgus

Sous Opera (WebKit), rien ne marche... :-\

Jefekoi

Pour les personnes à qui cela pourrait intéressé :

J'ai trouvé la solution

Quote<!doctype html>
    <html>
    <head>
       <title>test</title>
       <script type="text/javascript">
          function goInsert() {
             var win = window.open('', '', 'width=300,height=300');
             var doc = win.document;
             doc.write('<textarea id="data" rows="10" cols="20"></textarea>');
             doc.write('<input type="button" value="Insert" onclick="opener.insert(document.getElementById(\'data\').value);window.close();" />');
             doc.write('</select></body></html>');
             doc.close();
          }
          function insert(str) {
             var ta = document.getElementById('message');
             var c = getCaret(ta);
             ta.value = ta.value.substring(0, c) + str + ta.value.substring(c);
          }
          function getCaret(el) {      
             if (el.selectionStart) {
                return el.selectionStart;
             } else if (document.selection) {
                   el.focus();         
                var r = document.selection.createRange();
                if (r == null) {
                   return 0;
                }               
                var re = el.createTextRange(),
                rc = re.duplicate();
                re.moveToBookmark(r.getBookmark());
                rc.setEndPoint('EndToStart', re);
                return rc.text.length;
             }
             
             return 0;      
          }
       </script>
    </head>
    <body>
   
   
       <a href="#" onClick="goInsert();return false;">Ouvrir popup</a><br />
       <textarea id="message" rows="20" cols="60"></textarea>
    </body>
    </html>

Advertisement: