Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    163

    passare variabili da php a popup js,e viceversa

    ciao!sto facendo un editor bbcode.ho un problema con l'inserimento degli smiles.il tutto è strutturato cosi:
    -editor.php che contiene il bbcode + una funzione che crea una textarea.
    Codice PHP:
    <script language="JavaScript">
        <!--
        function win() {
            window.open("smiles.php","Scegli una faccina","menubar=no,width=460,height=360,toolbar=no");
        }
        //-->
    </script>
    //altro codice
    function textarea($name, $form)
    {
    //altro codice
    ?> [img]smile.png[/img]</a> <?php
    echo "
    <textarea name='
    $name' rows='8' cols='40' id='$name'></textarea>";
    }
    -smiles.php che mostra tutte le faccine disponibili,che onclick aggiungono alla textarea il bbcode dello smile cliccato.
    Codice PHP:
    //altro codice
    <a Onclick="window.opener.document.NOMEFORM.NOMETEXTAREA.value+='[img]<?php echo $smile;?>[/img]'">[img]<?php echo $smile ?>[/img]</a>
    -terzo file php, nel quale richiamo e uso il tutto:
    Codice PHP:
    textarea("nome""form"); 
    fin qui tutto bene,perchè in smiles.php è già specificato il nome del form e della textarea. il problema arriva quando nello stesso file devo utilizzare più di una textarea.in questo caso dovrei poter gestire i nomi delle textarea,magari passandoli come variabili.ma come si fa?soluzioni alternative?

    grazie

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    a win() passi come argomento il name della textarea,
    function win(nameTextarea){...}
    che viene appeso all' indirizzo, 'smiles.php?tarea='+nameTextarea
    in php leggi l' $_GET['tarea'] e lo usi per riferirti in javascript al campo corretto

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    163
    ciao
    ho provato a modificare cosi:
    Codice PHP:
    <img onclick="javascript:win(<?php echo $form?>,<?php echo $name?>)">
    nel js:
    Codice PHP:
     function win(form,name) {        
     
    window.open("includes/bbcode/smiles.php?form='+form'&tarea='+name'","Scegli una faccina","menubar=no,width=460,height=360,toolbar=no");   
     } 
    nel php:
    Codice PHP:
    <a Onclick="window.opener.document.<?php echo $_GET['form']; ?>.<?php echo $_GET['tarea']; ?>.value+='[img]<?php echo $smile;?>[/img]'">[img]img/smiles/<?php echo $smile ?>[/img]</a>
    però non aggiunge niente,dice Undefined index: tarea, Undefined index: form

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    163
    .php?form=form&tarea=name passa come valori "form" e "name",cioè stringhe.dovrebbe riferirsi alle variabili form e name!

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da nephilim89
    function win(form,name) {
    window.open("includes/bbcode/smiles.php?form='+form'&tarea='+name'","Scegli una faccina","menubar=no,width=460,height=360,toolbar= no");
    }
    sicuramente sbagliato
    ...php?form='+form+'&tarea='+name,"Scegli...

    poi usa un po' di fantasia nei nomi degli elementi e nei nomi delle variabili,
    chiamare un form form non e' una buona idea

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    163
    non avevo capito che il + fosse per il concatenamento. non funziona ancora, nel sorgente del popup il form e la tarea hanno questi nomi:
    [object HTMLFormElement]
    [object HTMLTextAreaElement]

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da nephilim89
    <img onclick="javascript:win(<?php echo $form; ?>,<?php echo $name; ?>)">
    qui non stai passando stringhe
    <img onclick="javascript:win('<?php echo $form; ?>','<?php echo $name; ?>')">

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    163
    ho risolto aggiungendo gli apici.grazie dell'aiuto!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.