Visualizzazione risultati 1 fino 9 di 9

Discussione: [JS] inserimento di bbcode con un click

  1. #1
    Guest

    Predefinito [JS] inserimento di bbcode con un click

    veniamo subito al dunque visto che il titolo non è un granche
    ho crato uno script per articoli che quando li legge esegue questo:
    Codice PHP:
    $testo=$row[testo];
    $bbcode=array(
    '[P]' => '<p class="testo">',
    '[/P]' => '</p>',
    '[CODE]' => '<textarea readonly="readonly" class="codebox">',
    '[/CODE]' => '</textarea>',
    );
    foreach(
    $bbcode as $key => $value) {
    $testo=str_replace("$key", "$value", $testo);
    }
    con questo codice i tag [P], ecc. che si trovano nel testo vengono convertiti e fino a qui funziona bene
    facciamo un passo in dietro:
    quando inserisco l'articolo devo scrivere a mano i tag di bbcode e questo va bene per me che so quali tag si possono utilizare. ma quando è qualcuno che non ha famigliarita con lo script rischia di combinare qualche guaio
    di conseguenza volevo mettere dei pulsanti che se cliccati inseriscono i rispettivi tag di apertura e di chiusura in un textarea
    mi potete aiutare visto che in JS sono una frana?
    grazie in anticipo

  2. #2
    Guest

    Predefinito

    Molto di base:
    Codice HTML:
    <html>
    	<head>
    		<title>Editor BBcode</title>
    		<script type="text/javascript">
    			function add(n) {
    				v = window.prompt("Inserisci il testo","");
    				txt = document.getElementById("txt");
    				switch(n) {
    					case 1:
    						txt.value= "[p]"+v+"[/p]";
    					break;
    					case 2:
    						txt.value= "[code]"+v+"[/code]";
    					break;
    				}
    			}
    		</script>
    	</head>
    	<body>
    		<input type="button" value="P" onClick="add(1)">
    		<input type="button" value="CODE" onClick="add(2)"><br>
    		<textarea id="txt" cols="20" rows="5"></textarea>
    	</body>
    </html>

  3. #3
    Guest

    Predefinito

    ero sicuro che fosse una cosa molto di base ma io lo JS propio non mi entra in testa!
    grazie mille adesso lo provo

    EDIT:
    non so se sono io che ho fatto casino con il codice ma quando clicco sul bottone e do ok alla prot mi viene inserito il codice e tutto quello che avevo scritto nel campo viene eliminato
    e un altra cosa:
    è possibile fare in modo di non far uscire la prot ma solo inserire i tag con immezzo il testo selezionato
    grz mille in anticipo
    Ultima modifica di webeasy : 07-02-2009 alle ore 17.51.59

  4. #4
    Guest

    Predefinito

    Scusami, ho sbagliato io a scrivere. Sotto c'è il codice, adesso non ti sparirà più il resto del messaggio. Per la seconda richiesta non ti so accontentare, perchè il javascript non lo uso da tanto tempo.
    Codice HTML:
    <html>
    	<head>
    		<title>Editor BBcode</title>
    		<script type="text/javascript">
    			function add(n) {
    				v = window.prompt("Inserisci il testo","");
    				txt = document.getElementById("txt");
    				switch(n) {
    					case 1:
    						txt.value += "[p]"+v+"[/p]";
    					break;
    					case 2:
    						txt.value += "[code]"+v+"[/code]";
    					break;
    				}
    			}
    		</script>
    	</head>
    	<body>
    		<input type="button" value="P" onClick="add(1)">
    		<input type="button" value="CODE" onClick="add(2)"><br>
    		<textarea id="txt" cols="20" rows="5"></textarea>
    	</body>
    </html>

  5. #5
    Guest

    Predefinito

    grazie
    ho notato che pero il bbcode viene posto sempre alla fine nessuno sa come risolvere anche questo problema?
    ve ne sarei grato

    Edit:
    percaso si puo usare invece di case 1, case 2, ecc usare case P, case CODE, ecc?
    Ultima modifica di webeasy : 08-02-2009 alle ore 16.01.10

  6. #6
    Guest

    Predefinito

    Si, ma devi passare come argomento "P" o "CODE"

  7. #7
    Guest

    Predefinito

    ma intendi la prima domanda o la seconda?

  8. #8
    Guest

    Predefinito

    Il tuo edit

  9. #9
    Guest

    Predefinito

    vorrei mettere al posto di case 1 case P ma ho provato ma non funzia

Regole di scrittura

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