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

    [js] richiamare funzione passando vareiabile

    ragazzi ho un pulsante per inserire il bold, il problema è che ho 3 pulsanti che inseriscono il bold su 3 text area diverse, la funzione che richiamo è
    codice:
    onclick="vbcode(this.form,'B','')"
    e un pezzo della funzione è

    codice:
     if (theform.message.createTextRange && theform.message.caretPos)
    bene io con il pulsante che fa partire onclick vorrei passare le variabili message, message2, message3 in base al pulsante che clicco.

    e ovviamente far caricare allo script le variabili
    codice:
     if (theform.message2.createTextRange && theform.message2.caretPos)
    o
    codice:
     if (theform.message3.createTextRange && theform.message3.caretPos)
    in base al pulsante cliccato.

    E' possibile??

  2. #2
    passa anche un riferimento al pulsante chiamante:

    codice:
    onclick="vbcode(this.form,'B','',this)"
    e poi fai una cosa del genere:

    codice:
    if (nomequartoparametro.createTextRange && nomequartoparametro.caretPos)
    ciao

  3. #3
    non ho capito una cippa :--(( cosa intendi con nomequartoparametro??
    Io con il pulsante volevo passargli una variabile e poi richiamarla nell'if.
    cosa vuol dire il this nel onclick?
    la funzione che uso è
    codice:
    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();
    }
    grazie e scusa se di js non ci capisco una cippa

  4. #4
    se modifichi la firma della funzione in questo modo

    codice:
    function vbcode(theform,vbcode,prompttext,buttonclicked)
    puoi usare un riferimento al pulsante dal quale hai fatto clic.
    ovviamente l'invocazione sarebbe:

    codice:
    onclick="vbcode(this.form,'B','',this)"
    this è il riferimento al pulsante cliccato.
    dunque, in vbcode puoi utilizzare buttonclicked come ti pare.

  5. #5
    ok ma io devo inserire du pulsanti, uno che mi inserisce nella texarea chiamata message e uno che mi inserisce nella text area message2. Non capisco anche se faccio i riferimenti ai pulsanti come faccio a dirgli di mettermi il tutto nella text area 2.
    Forse aggiungendo quello che mi hai detto posso settare una variabile statica, tipo

    codice:
    destinazione = function vbcode(theform,vbcode,prompttext,buttonclicked)
    Ovviamnete non so come si fa, ho sparato, devo settare quella variabile per poi poterla richiamare sempre, il codice che ti ho postato è una piccoa parte dello script, quindi quando clicco il pulsante devo poter richiamare la variabile circa su 30 funzioni diverse.

  6. #6
    ho provato a fare cosi:
    onclick="destinazione=message;vbcode(this.form,'B' ,'')"
    in questo modo pensavo di passare una variabile che avevo settato come globale all'inizio dello script
    var destinazione =null;

    però non mi funzia

    ricapitolando ho 3 pulsanti e devo passare 3 variabili, e per ogniuno far partire la funzione vbcode.
    Far partire la funzione ok ma passare le variabili non ci riesco.
    La variabile cha passo non è solo per la funzione vbcode, quindi non posso inserirla così:
    vbcode(this.form,'B','',message)
    altrimenti me la prende solo in quella funzione.

    spero di essere stato chiaro ciaooooo

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.