Visualizzazione risultati 1 fino 20 di 20

Discussione: [javascript]textarea e iframe

  1. #1
    geekzone non è connesso Neofita
    Data registrazione
    09-09-2004
    Messaggi
    24

    Predefinito [javascript]textarea e iframe

    avrei la necessità di correggere questo script :

    Codice HTML:
    <script language="javascript" type="text/javascript">
    <!--
    function emoticon(text) {
    	text = ' ' + text + ' ';
    	if (opener.document.forms['formmess'].messaggio.createTextRange && opener.document.forms['formmess'].messaggio.caretPos) {
    		var caretPos = opener.document.forms['post'].messaggio.caretPos;
    		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
    		opener.document.forms['formmess'].messaggio.focus();
    	} else {
    	opener.document.forms['formmess'].messaggio.value  += text;
    	opener.document.forms['formmess'].messaggio.focus();
    	}
    }
    //-->
    </script>
    questo script serve per inserire delle smile, le smile e lo script sono su una finestrella aperta da window.open(lo script è lo stesso del phpBB2) questo funziona perfettamente, ma devo farlo funzionare aprendolo da una pagina in cui è presente un iframe e facendogli aggiungere le smile appunto dentro alla textarea di nome "messaggio" dentro l'iframe ... ho provato a sostituire:
    opener.document.forms['formmess'].messaggio.
    con
    opener.document.nomedelframeoiddelframe.forms['formmess'].messaggio.
    o anche con solo
    opener.nomedelframeoiddelframe.forms['formmess'].messaggio.

    ma non va... mi sapete dire la soluzione please?? graziE!

  2. #2
    Guest

    Predefinito

    la finestrella viene aperta dall'iframe?
    la textarea è nell'iframe?

  3. #3
    geekzone non è connesso Neofita
    Data registrazione
    09-09-2004
    Messaggi
    24

    Predefinito

    la finestrella non è apera dall'iframe ma dalla pagina che contiene l'iframe, la textarea è dentro l'iframe..

    EDIT1:
    il bisogno sarebbe assai urgente se potete please....

    EDIT2:
    nessuna soluzione ??? mi dispiace dover inserire un altro messaggio ma la cosa è urgentissima anche perchè è l'unica cosa che mi manca per terminare uno script che poi pubblicherò in un sito stravisitato,quindi mi serve al più presto.

    geekzone, non sono consentiti up, specialmente nella zona di supporto!
    in via del tutto eccezionale, visto che dici che è urgentissimo, lascio l'ultimo post e cancello il primo, invece di fare il contrario (e dovrebbe essere il contrario).
    alla prossima non sarò cosi buono!
    Ultima modifica di seneca : 12-05-2006 alle ore 17.48.10

  4. #4
    Guest

    Predefinito

    provato con opener.frames['nomeframe'].forms['nomeform']. ecc?

  5. #5
    geekzone non è connesso Neofita
    Data registrazione
    09-09-2004
    Messaggi
    24

    Predefinito

    non va provato sia con opener.frames['nomeframe'].forms['nomeform']. ecc... che con
    opener.iframes['nomeframe'].forms['nomeform']. ecc

    mi tocca mettere il collegamento nel form dove c'è la textarea?? non vorrei..

  6. #6
    Guest

    Predefinito

    Inoltre,
    abbiamo 3 pagine, giusto?
    - la pagina caricata nell'opener, che contiene l'iframe
    - la pagina caricata dentro l'iframe
    - la pagina aperta in popup
    non è che una di queste pagine risiede su un'altro dominio? (su siti diversi)
    in questo caso il problema che potresti avere è di sicurezza, quindi accesso vietato a oggetti del document.
    (ma non hai indicato il tipo di errore quindi... solo tu puoi saperlo)

  7. #7
    geekzone non è connesso Neofita
    Data registrazione
    09-09-2004
    Messaggi
    24

    Predefinito

    scusa, le pagine sono tutte dello stesso dominio e non è restituiro nessun errore solo il codice delle smile non si aggiungono..

  8. #8
    Guest

    Predefinito

    se usi mozilla potresti controllare se ti scrive qualcosa sulla javascript console (CTRL+SHIFT+J per aprirla)..

  9. #9
    Guest

    Predefinito

    Ho provato, così funziona, sia su IE sia su Mozilla (non sono entrato nel merito del retrieve della caret position.. solo sul riferimento alla textarea)

    in pratica vi mancava l'oggetto 'document':
    Codice HTML:
    function emoticon(text) {
    	text = ' ' + text + ' ';
     var msgarea = opener.frames['nomeframe'].document.forms['formmess'].messaggio;
    	if (msgarea.createTextRange && msgarea.caretPos) {
    		var caretPos = opener.document.forms['post'].messaggio.caretPos;
    		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
    		msgarea.focus();
    	} else {
    	msgarea.value  += text;
    	msgarea.focus();
    	}
    }

  10. #10
    geekzone non è connesso Neofita
    Data registrazione
    09-09-2004
    Messaggi
    24

    Predefinito

    modificando quello che avevo io e aggiungendo .frames['nomeframe'] non va, non so perchè ma quello che hai postato tu va benissimo...

    --GRAZIE--

    visto che ci siamo un'altra cosa, ma secondaria, è possibile disattivare i rumorini che fa internet explorer quando si aggiorna, ovviamente intendo tramite web, tramite javascript?? sennò va be' non è troppo importante così sono obbligati a prendere firefox..

  11. #11
    Guest

    Predefinito

    credo che si possa fare solo attraverso le impostazioni di IE, modificabili dall'utente, ma è possibile che mi sbagli. ^^

  12. #12
    Guest

    Predefinito

    Citazione Originalmente inviato da geekzone
    modificando quello che avevo io e aggiungendo .frames['nomeframe'] non va, non so perchè ma quello che hai postato tu va benissimo...
    Si ti avevo accennato, in tutti i vari tentativi di questo thread mancava sempre il document dopo il riferimento al frame (al massimo veniva messo prima).
    Il tentativo che si avvicinava di più era quello tuo nel primo post:

    opener.document.nomedelframeoiddelframe.forms['formmess'].messaggio.

    solo che appunto il document andava messo dopo il frame, e il NAME del frame doveva essere cercato nell'array frames:

    opener.frames['nomeframe'].document.forms['formmess'].messaggio.
    Ultima modifica di NoSpam : 14-05-2006 alle ore 10.23.46

  13. #13
    geekzone non è connesso Neofita
    Data registrazione
    09-09-2004
    Messaggi
    24

    Predefinito

    no scusa intendevo che correggendo il mio come mi avevi detto tu, con il document dopo, non andava, però ora va tutto bene... quindi proprio nulla da fare per i suoni???
    dite che se metto il js per aggiornarlo o le info sull'head è la stessa cosa?

  14. #14
    Guest

    Predefinito

    Citazione Originalmente inviato da geekzone
    no scusa intendevo che correggendo il mio come mi avevi detto tu, con il document dopo, non andava, però ora va tutto bene...
    ferchè tu scrivevi solo il nome del frame, non frames['nomedelframe']
    dite che se metto il js per aggiornarlo o le info sull'head è la stessa cosa?
    di cosa stai parlando..?

  15. #15
    geekzone non è connesso Neofita
    Data registrazione
    09-09-2004
    Messaggi
    24

    Predefinito

    allora, per quando riguarda il javascript vecchio, io l'avevo modificato come avevi detto tu con tutto, ma non andava comunque e allora ho usato il tuo,(anche se ora l'ho modificato ulteriormente per farlo comparire in una finestra ancora molto più bella):


    per il resto ci sono due metodi (almeno )per far aggiornare una pagina uno è tramite js con document.location.refresh() o qualcosa del genere, l'altro tramite l'head con i metatag..
    Ultima modifica di geekzone : 15-05-2006 alle ore 14.28.20

  16. #16
    Guest

    Predefinito

    ah, in quel senso per aggiornarlo..

    direi di sì, ma se metti il metatag si refresha anche se il js non è attivo, altrimenti no, cmq se si apre la finestrella degli smiles sinifica che il js è zttivo, dunque il problema non si pone..

    Cmq puoi usare il location.refresh incombinazione con il setTimeout per ottenere lo stesso risultato del metatag..

  17. #17
    geekzone non è connesso Neofita
    Data registrazione
    09-09-2004
    Messaggi
    24

    Predefinito

    sì è quello che faccio già, il problema è che con ie fa il suo c***o di rumorino.

    è comicissimo... ora che sto provando con ie con 2 frame che si aggiornano ogni secondo sembra che stiano giocando a ping-pong!! mi sto piegando in 2 dal ridere..anche perchè nonostante siano tutte e due a 1 secondo ogni tanto si sfasano perchè il computer non è abbastanza bestia quindi fa proprio ridere..
    Ultima modifica di geekzone : 14-05-2006 alle ore 20.40.11

  18. #18
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Disattivare il rumore, come già detto, credo sia una cosa che può fare solo l'utente.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  19. #19
    Guest

    Predefinito

    Citazione Originalmente inviato da geekzone
    è comicissimo... ora che sto provando con ie con 2 frame che si aggiornano ogni secondo sembra che stiano giocando a ping-pong!! mi sto piegando in 2 dal ridere..anche perchè nonostante siano tutte e due a 1 secondo ogni tanto si sfasano perchè il computer non è abbastanza bestia quindi fa proprio ridere..
    Beh.. tu digli di disattivare i suon del browser o di usare Firefox.. e fine..

  20. #20
    geekzone non è connesso Neofita
    Data registrazione
    09-09-2004
    Messaggi
    24

    Predefinito

    va be' vorrà dire che si metterò l'adsense per firefox così ci guadagno pure..

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •