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

    parametro stringa su più righe

    Ciao a tutti.

    Ho il seguente problema: ho del codice Html che viene generato automaticamente (è il tag specifico di una piattaforma blog), una cosa del genere:

    Molto semplicemente mi serve che il suddetto codice sia processato da una funzione in javascript che sostituisca i
    con il tag
    Praticamente voglio ottenere un elenco non ordinato al posto di una serie di <a ...> mandati a caporiga con
    .
    La funzione di sostituzione è già pronta, uso str.split('
    ').
    Il mio problema riguarda come passare la stringa, che risulta spezzata su righe proprio nel sorgente HTML

    Una cosa del genere:
    codice:
    document.write(Elenco('a href="/">oggi</a>
     
    febbraio 2009
    
     ... 
    giugno 2007
    '));
    In questo modo non ottengo nulla.
    C'è il modo di "imbrigliare" quel testo che mi viene generato automaticamente, per poterlo eleborare?
    Premetto che di javascript so davvero molto poco...
    Grazie mille a tutti!

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Se viene generato lato server i ritorni a capo devi sostituirli in quella sede...

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Originariamente inviato da br1
    Se viene generato lato server i ritorni a capo devi sostituirli in quella sede...

    ciao
    Ciao, grazie per la solerte risposta.
    SI, viene generato lato server automaticamente ma io sono solo sul lato client e ottengo quel codice già scritto. Avrei dovuto specificarlo, ci ho pensato dopo che non era chiaro.

    Praticamente io carico il mio codice html sulla piattaforma del blog e al posto di alcuni tag specifici inseriti nel mio html ottengo il pezzo di codice così:
    codice:
    oggi
      
    febbraio 2009
      
    settembre 2008
      
    agosto 2008
       
    marzo 2008
      
    a href="/archive/2008-01">gennaio 2008</a>
    E il codice spezzato così non riesco a prenderlo con una normale funzione javascript perchè risulta come se andasse a caporiga, tipo così:
    codice:
    document.write(Elenco('<a... .
    
    <a ..... >
    
    ...................
    <a ...... > 
    ));
    L'unica cosa che posso fare è spostare il tag specifico e metterlo un po' dove voglio.
    Butto il un idea, anche se nn so come si fa: fare in modo che il testo generato sia messo all'interno di una textbox invisibile, così poi riesco in qualche modo a prenderlo tutto, raddrizzarlo, togliendo gli "a capo" invisibili, che da quello che ho letto qua sono "\r\n" e poi processarlo con la mia funzione javascript di sostituzione dei
    .
    Che dite? è fattibile?
    Ciao, grazie!

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Precisa come "ottieni" il testo (viene scritto dal server in una particolare porzione della pagina? oppure tramite ajax? oppure altro? )

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Ciao...
    Si, diciamo che lo ottengo dal server e basta.
    La piattaforma funziona così, che ci sono dei particolari tag riservati, che cominciano tutti con <$nometag$> che vengono "sostituiti" dal server con il codice html opportuno per la navigazione all'interno del blog. Non so dirti che linguaggio sia, non me ne intendo.
    Comunque credo di aver risolto, magari in maniera poco elegante ma.. faccio così:
    codice:
    <textarea name="prova" cols="20" rows="3" id="testo">oggi
    
    febbraio 2009
    
    settembre 2008
    
    agosto 2008
    
    marzo 2008
    
    gennaio 2008
    
    </textarea>
     <script type="text/javascript">
      	document.write(Elenco());
      </script>
    Con la mia funzione javascript di sostituzione che è
    codice:
    function Elenco() {
    var str = document.getElementById('testo');
    var testo = str.value;
    var arr = testo.split('
    '); 
    document.write(arr[0]);
    var stringa = ' ';
    var len = arr.length;
    
     for (s=0; s < len-1; s++) {
    	stringa= stringa + '[*]' + arr[s] + ''; 
    	} 
    return stringa
    }
    Ottengo il mio elenco non ordinato al posto delle varie righe messe di fila con
    .
    Ovviamente il codice così è piuttosto grezzo.
    Potrei passare come parametro della funzione elenco l'ID della textarea, così posso reciclare la funzione più volte...
    Devo anche far sparire la textarea.. basta impostare style=display:hidden, giusto?
    Ciao, grazie.

  6. #6
    UFFA!

    Non sono ancora soddisfatto di come funziona il tutto.
    Dopo aver passato la famosa stringa con gli "a capo" alla funzione, come parametro, vorrei ripulirla, eliminando appunto gli "a capo" e gli eventuali spazi.
    Cercando sul forum ho trovato situazioni simili, ma a me nn funziona.
    Ad esempio, con il codice:
    codice:
    var str = document.getElementById(idSource);
    var testo = str.value;
    testo.replace('\n', ' ');
    Ma non mi funziona!
    Se poi mando in output str con alert la vado ancora con gli a-capo.
    Come posso fare?
    Ho letto anche che su Windoz l'a capo è dato dai codici asci \n\r.. è corretto? :berto:

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.