Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    variabile globale in js

    ragazzi ho uno script e vorrei sostituire la parola message che trovo all'interno con una variabile globale settata in testa in modo da renderla dinamica. Non riesco a farlo.
    Io setto la variabile in questo modo :
    var destinazione="message";


    ma poi come la inserisco all'interno dello script? Devo sostituire tutte le parole dove c'è scritto message con la variabile destinazione. Mettendo semplicemente destinazione al posto di message non funziona.
    grazie

    var text = "";
    AddTxt = "";
    function getActiveText(selectedtext) {
    text = (document.all) ? document.selection.createRange().text : document.getSelection();
    if (selectedtext.createTextRange) {
    selectedtext.caretPos = document.selection.createRange().duplicate();
    }
    return true;
    }

    function AddText(NewCode,theform) {
    if (theform.message.createTextRange && theform.message.caretPos) {
    var caretPos = theform.message.caretPos;
    caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? NewCode + ' ' : NewCode;
    } else {
    theform.message.value+=NewCode;
    }
    setfocus(theform);
    AddTxt = " ";
    }


    function setfocus(theform) {
    theform.message.focus();
    }

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Fai un po' di confusione fra variabili, valori e oggetti...

    Mi pare che nel tuo caso si possa utilizzare la sintassi:

    theform.elements[destinazione]

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    guarda ti posto tutto lo script perchè in alcuni casi non penso si possa utilizzare:
    Come faccio a sostituirla, la variabile deve essere spedita da un bottone con onclick, quindi non saprei.

    codice:
    tags = new Array();
    theform = document.form1;
    var destinazione="message";
    
    function thearrayisgood(thearray,i) {
             if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null))
                 return false;
             else
                 return true;
    }
    
    function getarraysize(thearray) {
            for (i = 0; i < thearray.length; i++) {
                    if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null))
                            return i;
                    }
            return thearray.length;
    }
    
    function arraypush(thearray,value) {
            thearraysize = getarraysize(thearray);
            thearray[thearraysize] = value;
            return thearray[thearraysize];
    }
    
    function arraypop(thearray) {
            thearraysize = getarraysize(thearray);
            retval = thearray[thearraysize - 1];
            delete thearray[thearraysize - 1];
            return retval;
    }
    
    // *******************************************************
    
    function setmode(modevalue) {
            document.cookie = "vbcodemode="+modevalue+"; path=/; expires=Wed, 1 Jan 2020 00:00:00 GMT;";
    }
    
    function normalmode(theform) {
            if (theform.mode[0].checked) return true;
            else return false;
    }
    
    function stat(thevalue) {
            document.vbform.status.value = eval(thevalue+"_text");
    }
    // *******************************************************
    var text = "";
    AddTxt = "";
    function getActiveText(selectedtext) {
            text = (document.all) ? document.selection.createRange().text : document.getSelection();
            if (selectedtext.createTextRange) {
                selectedtext.caretPos = document.selection.createRange().duplicate();
            }
            return true;
    }
    
    function AddText(NewCode,theform) {
            if (theform.message.createTextRange && theform.message.caretPos) {
                    var caretPos = theform.message.caretPos;
                    caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? NewCode + ' ' : NewCode;
            } else {
                    theform.message.value+=NewCode;
            }
            setfocus(theform);
            AddTxt = " ";
    }
    
    
    function setfocus(theform) {
    theform.message.focus();
    }
    
    function vbcode(theform,vbcode,prompttext) {
            if ((normalmode(theform)) || (vbcode=="IMG")) {
                    if (text) { var dtext=text; } else { var dtext=prompttext; }
                    inserttext = prompt(tag_prompt+"\n["+vbcode+"]xxx[/"+vbcode+"]",dtext);
                    if ((inserttext != null) && (inserttext != ""))
                            AddTxt = "["+vbcode+"]"+inserttext+"[/"+vbcode+"] ";
                            AddText(AddTxt,theform);
    
                    }
            else {
                    donotinsert = false;
                    for (i = 0; i < tags.length; i++) {
                            if (tags[i] == vbcode)
                                    donotinsert = true;
                            }
                    if (donotinsert)
                            stat("already_open");
                    else {
                            arraypush(tags,vbcode);
                            AddTxt = "["+vbcode+"]";
                            AddText(AddTxt,theform);
                            }
                    }
            theform.message.focus();
    }
    
    
    
    
    // *******************************************************
    
    function closetag(theform) {
            if (normalmode(theform))
                    stat('enhanced_only');
            else
                    if (tags[0]) {
                            Tag = arraypop(tags)
                            AddTxt = "[/"+ Tag +"]";
                            AddText(AddTxt,theform);
                            }
                    else {
                            stat('no_tags');
                            }
            theform.message.focus();
    }
    
    function closeall(theform) {
            if (normalmode(theform))
                    stat('enhanced_only');
            else {
                    g = getarraysize(tags);
                    if (thearrayisgood(tags,g-1)) {
                                Addtxt = "";
                                for (h = 0; h < g; h++) {
                                     newtag = arraypop(tags);
                                     Addtxt += "[/"+ newtag +"]";
                                 }
                                 AddText(Addtxt,theform);
                    } else {
                            stat('no_tags');
                    }
            }
            theform.message.focus();
    }
    
    
    // *******************************************************
    
    function fontformat(theform,thevalue,thetype) {
            if (normalmode(theform)) {
                    if (thevalue != 0) {
                            if (text) { var dtext=text; } else { var dtext=""; }
                            inserttext = prompt(font_formatter_prompt+" "+thetype,dtext);
                            if ((inserttext != null) && (inserttext != ""))
                                    AddTxt = "["+thetype+"="+thevalue+"]"+inserttext+"[/"+thetype+"] ";
                                    AddText(AddTxt,theform);
    
                            }
                    }
            else {
                    arraypush(tags,thetype);
                    Addtxt = "["+thetype+"="+thevalue+"]";
                    AddText(Addtxt,theform);
                    }
            theform.sizeselect.selectedIndex = 0;
            theform.fontselect.selectedIndex = 0;
            theform.colorselect.selectedIndex = 0;
            theform.message.focus();
    }
    
    // *******************************************************
    
    function namedlink(theform,thetype) {
            if (text) { var dtext=text; } else { var dtext=""; }
            linktext = prompt(link_text_prompt,dtext);
                    var prompttext;
                    if (thetype == "URL") {
                            prompt_text = link_url_prompt;
                            prompt_contents = "http://";
                            }
                    else {
                            prompt_text = link_email_prompt;
                            prompt_contents = "";
                            }
            linkurl = prompt(prompt_text,prompt_contents);
            if ((linkurl != null) && (linkurl != "")) {
                    if ((linktext != null) && (linktext != "")) {
                            AddTxt = "["+thetype+"="+linkurl+"]"+linktext+"[/"+thetype+"] ";
                            AddText(AddTxt,theform);
    
                            }
                    else{
                            AddTxt = "["+thetype+"]"+linkurl+"[/"+thetype+"] ";
                            AddText(AddTxt,theform);
    
                    }
            }
    }
    
    // *******************************************************
    
    function dolist(theform) {
            listtype = prompt(list_type_prompt, "");
            if ((listtype == "a") || (listtype == "1")) {
                    thelist = "[list="+listtype+"]\n";
                    listend = "[/list="+listtype+"] ";
                    }
            else {
                    thelist = "
    • \n"; listend = "
    "; } listentry = "initial"; while ((listentry != "") && (listentry != null)) { listentry = prompt(list_item_prompt, ""); if ((listentry != "") && (listentry != null)) thelist = thelist+"[*]"+listentry+"\n"; } AddTxt = thelist+listend; AddText(AddTxt,theform); } // ******************************************************* function smilie(thesmilie) { AddSmilie = " " +thesmilie+ " "; AddText(AddSmilie,theform); } function opensmiliewindow(x,y,sessionhash) { window.open("misc.php?action=getsmilies&s="+sessionhash, "smilies", "toolbar=no,scrollbars=yes,resizable=yes,width="+x+",height="+y); } // *******************************************************

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da massimo80 ...
    Come faccio a sostituirla, la variabile deve essere spedita da un bottone con onclick, quindi non saprei.
    Questa frase mi e' oscura... tu definisci la variabile ed il suo contenuto nello script ma poi non ne fai mai uso... peraltro usi "message" per riferirti ad un campo del form... ed in questa prospettiva io ti ho fornito una interpretazione e prospettato la soluzione.

    Spiega meglio cosa vuoi ottenere.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    allora comincio dall'inizio :-))
    Ho dei pulsanti per creare i vari bold, italic e molto altro,
    se ci fosse un singola textarea non ci sarebbero problemi, ma ne ho 3 e senza duplicare 3 volte lo script vorrei inserirgli delle variabili.

    i pulsanti adesso sono così
    <INPUT class="bginput" title="BOLD (alt+b)" accessKey="b" onclick="vbcode(this.form,'B','')" type="button" value=" B ">

    il codice che ti ho inserito prima funziona solo su una textarea di nome message, ma io ne ho 3 di textarea, quindi il valore message lo devo rendere variabile al click del pulsante .

    Es.. se clicco sul bold della prima textarea dovrà passare il valore message se clicco sul bold della seconda textarea dovrà passare il valore message2 sulla terza message3 e così via.
    ___________________
    Io quindi volevo settare una variabile vuota e poi passare il valore tramite l'onclick del pulsante che clicco.
    Ecco, spero di essere stato chiaro

    grazie mille

  6. #6

  7. #7
    Originariamente inviato da massimo80

  8. #8
    ho provato a creare un tred scritto meglio ma è stato chiuso.

    Quindi riepilogo tutto quello che dovrei fare e che non sono ancora riuscito a risolvere.

    Ho dei pulsanti per creare i vari bold, italic e molto altro,
    se ci fosse un singola textarea non ci sarebbero problemi, ma ne ho 3 e senza duplicare 3 volte lo script vorrei inserirgli delle variabili.

    i pulsanti adesso sono così
    <INPUT class="bginput" title="BOLD (alt+b)" accessKey="b" onclick="vbcode(this.form,'B','')" type="button" value=" B ">

    il codice che inserisco sotto funziona solo su una textarea di nome message, ma io ne ho 3 di textarea, quindi il valore message lo devo rendere variabile al click del pulsante .

    Es.. se clicco sul bold della prima textarea dovrà passare il valore message se clicco sul bold della seconda textarea dovrà passare il valore message2 sulla terza message3 e così via.

    Come faccio a passare una variabile al click di un pulsante e riprenderlo nel codice qui sotto???
    Non serve che leggiate tutto il codice devo solo capire come faccio a passare la variabile con il pulsante e riprenderla nel codice che c'è qui.

    questo è il codice:


    code:tags = new Array();
    theform = document.form1;


    function thearrayisgood(thearray,i) {
    if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null))
    return false;
    else
    return true;
    }

    function getarraysize(thearray) {
    for (i = 0; i < thearray.length; i++) {
    if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null))
    return i;
    }
    return thearray.length;
    }

    function arraypush(thearray,value) {
    thearraysize = getarraysize(thearray);
    thearray[thearraysize] = value;
    return thearray[thearraysize];
    }

    function arraypop(thearray) {
    thearraysize = getarraysize(thearray);
    retval = thearray[thearraysize - 1];
    delete thearray[thearraysize - 1];
    return retval;
    }

    // ****************************************
    ***************

    function setmode(modevalue) {
    document.cookie = "vbcodemode="+modevalue+"; path=/; expires=Wed, 1 Jan 2020 00:00:00 GMT;";
    }

    function normalmode(theform) {
    if (theform.mode[0].checked) return true;
    else return false;
    }

    function stat(thevalue) {
    document.vbform.status.value = eval(thevalue+"_text");
    }
    // ****************************************
    ***************
    var text = "";
    AddTxt = "";
    function getActiveText(selectedtext) {
    text = (document.all) ? document.selection.createRange().text : document.getSelection();
    if (selectedtext.createTextRange) {
    selectedtext.caretPos = document.selection.createRange().duplicate();
    }
    return true;
    }

    function AddText(NewCode,theform) {
    if (theform.message.createTextRange && theform.message.caretPos) {
    var caretPos = theform.message.caretPos;
    caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? NewCode + ' ' : NewCode;
    } else {
    theform.message.value+=NewCode;
    }
    setfocus(theform);
    AddTxt = " ";
    }


    function setfocus(theform) {
    theform.message.focus();
    }

    function vbcode(theform,vbcode,prompttext) {
    if ((normalmode(theform)) || (vbcode=="IMG")) {
    if (text) { var dtext=text; } else { var dtext=prompttext; }
    inserttext = prompt(tag_prompt+"\n["+vbcode+"]xxx[/"+vbcode+"]",dtext);
    if ((inserttext != null) && (inserttext != ""))
    AddTxt = "["+vbcode+"]"+inserttext+"[/"+vbcode+"] ";
    AddText(AddTxt,theform);

    }
    else {
    donotinsert = false;
    for (i = 0; i < tags.length; i++) {
    if (tags[i] == vbcode)
    donotinsert = true;
    }
    if (donotinsert)
    stat("already_open");
    else {
    arraypush(tags,vbcode);
    AddTxt = "["+vbcode+"]";
    AddText(AddTxt,theform);
    }
    }
    theform.message.focus();
    }




    // ****************************************
    ***************

    function closetag(theform) {
    if (normalmode(theform))
    stat('enhanced_only');
    else
    if (tags[0]) {
    Tag = arraypop(tags)
    AddTxt = "[/"+ Tag +"]";
    AddText(AddTxt,theform);
    }
    else {
    stat('no_tags');
    }
    theform.message.focus();
    }

    function closeall(theform) {
    if (normalmode(theform))
    stat('enhanced_only');
    else {
    g = getarraysize(tags);
    if (thearrayisgood(tags,g-1)) {
    Addtxt = "";
    for (h = 0; h < g; h++) {
    newtag = arraypop(tags);
    Addtxt += "[/"+ newtag +"]";
    }
    AddText(Addtxt,theform);
    } else {
    stat('no_tags');
    }
    }
    theform.message.focus();
    }


    // ****************************************
    ***************

    function fontformat(theform,thevalue,thetype) {
    if (normalmode(theform)) {
    if (thevalue != 0) {
    if (text) { var dtext=text; } else { var dtext=""; }
    inserttext = prompt(font_formatter_prompt+" "+thetype,dtext);
    if ((inserttext != null) && (inserttext != ""))
    AddTxt = "["+thetype+"="+thevalue+"]"+inserttext+"[/"+thetype+"] ";
    AddText(AddTxt,theform);

    }
    }
    else {
    arraypush(tags,thetype);
    Addtxt = "["+thetype+"="+thevalue+"]";
    AddText(Addtxt,theform);
    }
    theform.sizeselect.selectedIndex = 0;
    theform.fontselect.selectedIndex = 0;
    theform.colorselect.selectedIndex = 0;
    theform.message.focus();
    }

    // ****************************************
    ***************

    function namedlink(theform,thetype) {
    if (text) { var dtext=text; } else { var dtext=""; }
    linktext = prompt(link_text_prompt,dtext);
    var prompttext;
    if (thetype == "URL") {
    prompt_text = link_url_prompt;
    prompt_contents = "http://";
    }
    else {
    prompt_text = link_email_prompt;
    prompt_contents = "";
    }
    linkurl = prompt(prompt_text,prompt_contents);
    if ((linkurl != null) && (linkurl != "")) {
    if ((linktext != null) && (linktext != "")) {
    AddTxt = "["+thetype+"="+linkurl+"]"+linktext+"[/"+thetype+"] ";
    AddText(AddTxt,theform);

    }
    else{
    AddTxt = "["+thetype+"]"+linkurl+"[/"+thetype+"] ";
    AddText(AddTxt,theform);

    }
    }
    }

    // ****************************************
    ***************

    function dolist(theform) {
    listtype = prompt(list_type_prompt, "");
    if ((listtype == "a") || (listtype == "1")) {
    thelist = "

    \n"; listend = "

    ";
    }
    else {
    thelist = "

    \n"; listend = "

    ";
    }
    listentry = "initial";
    while ((listentry != "") && (listentry != null)) {
    listentry = prompt(list_item_prompt, "");
    if ((listentry != "") && (listentry != null))
    thelist = thelist+"[*]"+listentry+"\n";
    }
    AddTxt = thelist+listend;
    AddText(AddTxt,theform);

    }

    // ****************************************
    ***************

    function smilie(thesmilie) {
    AddSmilie = " " +thesmilie+ " ";
    AddText(AddSmilie,theform);
    }

    function opensmiliewindow(x,y,sessionhash) {
    window.open("misc.php?action=getsmilies&s="+sessio nhash, "smilies", " toolbar=no,scrollbars=yes,resizable=yes,
    width="+x+",height="+y);

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 © 2025 vBulletin Solutions, Inc. All rights reserved.