Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Gestione input

  1. #1
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502

    Gestione input

    codice:
    function add_center() {
    text = prompt("Inserisci la parola o frase che desideri sottolineato...");
    document.form_note.note.value = document.form_note.note.value + "<center>"+ text	+"</center>";
    document.form_note.note.focus();
    }
    Purtroppo però mi aggiunge la parola/frase che desidero solamente ALLA FINE dell'input. Come faccio a dirgli che me la deve aggiungere dove ho il mouse?
    Personal Home Page

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502
    Ora vedo di adattarlo e lo provo in caso posto qua.. un'altra cosa:
    Io ho una textarea... dove inserisco una frase esempio: "benvenuto pippo" poi seleziono benvenuto pippo e clicco su un'immagine che mi fa partire una funzione. C'è un modo per catturare quello che ho selezionato? (= evidenziato in blu)
    Personal Home Page

  4. #4
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502
    up
    Personal Home Page

  5. #5
    questo articolo è vecchio, ma credo funzioni ancora:
    http://www.webreference.com/js/column12/index.html

    oppure questo (che ho provato su IE8):
    Codice PHP:
    <script language=javascript>
    function 
    getSelText()
    {
        var 
    txt '';
         if (
    window.getSelection)
        {
            
    txt window.getSelection();
                 }
        else if (
    document.getSelection)
        {
            
    txt document.getSelection();
                }
        else if (
    document.selection)
        {
            
    txt document.selection.createRange().text;
                }
        else return;
    return  
    txt;
    }
    </script> 

  6. #6
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502
    Ciao Gluck, grazie mille per la risposta e ho provato a metterlo in atto così:

    codice:
    function getSelText()
    {
        txt = '';
         if (window.getSelection)
        {
            txt = window.getSelection();
                 }
        else if (document.getSelection)
        {
            txt = document.getSelection();
                }
        else if (document.selection)
        {
            txt = document.selection.createRange().text;
                }
        else return;
    return txt
    }
    
    function add_g() {
    	if (txt == '') {
    		text = prompt("Inserisci la parola o frase che desideri in grassetto...");
    		document.form_note.note.value = document.form_note.note.value + ""+ text	+"";
    		document.form_note.note.focus();
    	} else {
    		document.form_note.note.value = document.form_note.note.value + ""+ txt +"";
    		document.form_note.note.focus();
    	}
    }
    codice:
    <textarea onSelect="getSelText()" maxlength="1000"></textarea>
    Ma effettivamente non va o.o In pratica:
    Ho una textarea, seleziono qualcosa e clicco su un tasto che mi attiva la funziona add_g() [bold per intenderci]. La funzione verifica l'esistenza del testo selezionato e, se non esiste, mi apre un prompt, mentre se esiste mi aggiunge "" e "" con il testo selezionato in mezzo... (txt). Dove sbaglio?
    Personal Home Page

  7. #7
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502
    Ho provato ad usare solo il tuo codice con un alert alla fine per vedere se mi visualizzava la variabile, ma è vuota ... (con firefox)

    Qualche consiglio?
    Personal Home Page

  8. #8
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502
    Scusate per il flood continuo... sto cercando in tutti i modi di adattarlo...

    codice:
    function getSelText() {
    	txt = '';
        if (window.getSelection) {
            txt = window.getSelection();
        } else if (document.getSelection) {
            txt = document.getSelection();
        } else if (document.selection) {
            txt = document.selection.createRange().text;
        } else return
    }
    
    function add_g() {
    	var obj=document.form_note.note;
    	
    	if (txt == '') {
    		text = prompt("Inserisci la parola o frase che desideri in grassetto...");
    	} else {
    		text = prompt("Inserisci la parola o frase che desideri in grassetto...", txt);
    	}
    	
    	if (document.all) {
    		obj.focus();
    	  	var sel=document.selection;
    	  	var rng=sel.createRange();
    	  	rng.colapse;
    	  	rng.text=""+ text +"";
    	} else if(obj.selectionEnd){
    		var lng=obj.textLength;
    		var from=obj.selectionStart;
    		var to=obj.selectionEnd;
    		obj.value=obj.value.substring(0,from) + ""+ text +"" + obj.value.substring(to,lng)
    	} else {
    		obj.value+=""+ text +"";
    	}
    	obj.focus();
    }
    In pratica se il testo è selezionato non aprirmi il prompt ma usa il testo selezionato, se invece non è selezionato niente aprimi il prompt affinchè l'utente scriva la frase desiderata.
    Personal Home Page

  9. #9
    il fatto è che tu nella funzione add_g() continui a controllare il valore di txt, che non esiste perché è locale a getSelText().

    devi fare:

    Codice PHP:
    function add_g() {
       var 
    txt getSelText();
       ...
       ...

    e non timenticare di mettere, come ultima riga di getSelText();
    Codice PHP:
    return txt 

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.