Visualizzazione dei risultati da 1 a 5 su 5

Discussione: inserire link da popup

  1. #1
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499

    inserire link da popup

    Come posso realizzare una funzione come quella presente in questo forum?
    Ovvero, mentre l'utente compila il suo form, cliccando un pulsante ha la possibilità di inserire un link. In questo modo viene inserito all'interno della textarea.

  2. #2
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Ci sono riuscito, grazie lo stesso

  3. #3
    Posteresti la tua soluzione? mi interessa molto....
    Grazie!

  4. #4
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    nella pagina del form
    Codice PHP:
    <script language="Javascript">// inserisco codice per bbcode, es: [url]http://javascript.html.it/demo/javascript/552/esempio.htm[/url]
    var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true false;
    var 
    regexp = new RegExp("[\r]","gi");

    function 
    storeCaret(selecidFormidElem)
    {
        if (
    isMozilla
        {
        
    // Si on est sur Mozilla

            
    oField document.forms[idForm].elements[idElem];

            
    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 );

        
    //    alert("Debut:'"+objectValueDeb+"' ("+deb+")\nFin:'"+objectValueFin+"' ("+fin+")\n\nSelectionné:'"+objectSelected+"'("+(fin-deb)+")");
                
            
    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
        {
        
    // Si on est sur IE
            
            
    oField document.forms[idForm].elements[idElem];
            var 
    str document.selection.createRange().text;

            if (
    str.length>0)
            {
            
    // Si on a selectionné du texte
                
    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['news'].elements['newst'], pos);
                
    var oField.createTextRange();
                
    r.moveStart('character'pos);
                
    r.collapse();
                
    r.select();

            }
        }
    }

    </script>

    <form name="news">
    ...
    ...
    <input value="url" style="width: 50px; border:1px solid red;" onclick="storeCaret('url', 'news', 'descr')" type="button" />
    <textarea name="descr" cols="100" rows="10"></textarea>
    </form> 
    quando estrai
    Codice PHP:
    $search = array(
    '/\-b\-(.*?)\-\/b\-/is',
    '/\-i\-(.*?)\-\/i\-/is',
    '/\-u\-(.*?)\-\/u\-/is',
    '/\-img\-(.*?)\-\/img\-/is',
    '/\-url\-(.*?)\-\/url\-/is',
    '/\-url\=(.*?)\-(.*?)\-\/url\-/is',
    '/\\n/is'
    );
    $replace = array(
    '[b]$1[/b]',
    '[i]$1[/i]',
    '<u>$1</u>',
    '[img]$1[/img]',
    '[url="http://$1"]$1[/url]',
    '[url="http://$1"]$2[/url]',
    '
    '
    );
    $descr preg_replace($search$replace$row['descr']); 
    probabilmente ci sono altre soluzioni per il bbcode

    PS: il forum mi ha eseguito tutti i tag... ti ho editato il post. sostituisci tutti gli - con le parentei quadre aperte e chiuse.

  5. #5
    Beh! Caspita! Grazie Mille!! Data la mia scarsa dimestichezza impiegherò un po' a capire tutto ma comunque grazie davvero sei stato molto gentile!!

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.