Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    170

    Select valore passato OnChange

    Salve a tutti, ho questa funzione che uso per l'inserimento dei "tag BBcode" in una text area

    Codice PHP:
    function sosBBCODE(selec)
    {
        if (
    isMozilla
        {
            
    oField document.forms['risposta'].elements['testo'];

            
    objectValue oField.value;

            
    deb oField.selectionStart;
            
    fin oField.selectionEnd;

            
    objectValueDeb objectValue.substringoField.selectionStart );
            
    objectValueFin objectValue.substringoField.selectionEnd oField.textLength );
            
    objectSelected objectValue.substringoField.selectionStart ,oField.selectionEnd );

            
            
    oField.value objectValueDeb "[" selec "]" objectSelected "[/" selec "]" objectValueFin;
            
    oField.selectionStart strlen(objectValueDeb);
            
    oField.selectionEnd strlen(objectValueDeb "[" selec "]" objectSelected "[/" selec "]");
            
    oField.focus();
            
    oField.setSelectionRange(
                
    objectValueDeb.length selec.length 2,
                
    objectValueDeb.length selec.length 2);
        }
        else
        {
        
    // Su IE
            
            
    oField document.forms['risposta'].elements['testo'];
            var 
    str document.selection.createRange().text;

            if (
    str.length>0)
            {
            
    // testo selezionato
                
    var sel document.selection.createRange();
                
    sel.text "[" selec "]" str "[/" selec "]";
                
    sel.collapse();
                
    sel.select();
            }
            else
            {
                
    oField.focus(oField.caretPos);
            
    //    alert(oField.caretPos+"\n"+oField.value.length+"\n")
                
    oField.focus(oField.value.length);
                
    oField.caretPos document.selection.createRange().duplicate();
                
                var 
    bidon "%~%";
                var 
    orig oField.value;
                
    oField.caretPos.text bidon;
                var 
    oField.value.search(bidon);
                
    oField.value orig.substr(0,i) + "[" selec "][/" selec "]" orig.substr(ioField.value.length);
                var 
    0;
                for(
    0in++)
                {if(
    regexp.test(oField.value.substr(n,2)) == true){r++;}};
                
    pos selec.length r;
                
    //placer(document.forms['risposta'].elements['testo'], pos);
                
    var oField.createTextRange();
                
    r.moveStart('character'pos);
                
    r.collapse();
                
    r.select();

            }
        }

    tutto funziona fino a quando non uso le select per esempio se faccio così:
    Codice PHP:
        <select name="select" onchange="sosBBCODE(this)">
             <
    option value="ARANCIONE">Arancione</option>
            <
    option value="BIANCO" onClick="sosBBCODE('BIANCO')">Bianco</option>
    </
    select
    mi da questo errore
    Codice PHP:
    [[object HTMLSelectElement]][/[object HTMLSelectElement]] 
    dove sbaglio?

  2. #2
    Ciao,
    non ho provato perché manca tutto il resto del codice e sarebbe troppo lungo ricostruirlo però c'è una cosa che non mi convince e cioè che "selec" viene trattato come semplice valore e non come oggetto quindi proverei a cambiare il

    codice:
    <select name="select" onchange="sosBBCODE(this)">
    in
    codice:
    <select name="select" onchange="sosBBCODE(this.value)">
    facci sapere
    ciao
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    170
    Funziona grazie

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.