Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Jquery, Ajax e newline

  1. #1

    Jquery, Ajax e newline

    Ciao a tutti
    vorrei chiedere a chi più esperto di me, come risolvere questo inghippo:

    Recupero del testo da una textarea e lo racchiudo in un oggetto, lo invio tramite ajax al server, recupero la variabile dall'array, lo parso (da semplice testo ad HTML), lo salvo nel database e lo stesso testo, lo restituisco alla funzione ajax che lo inserisci nella pagina.

    Il codice javascipt è più o meno questo:

    Codice PHP:
    $obj.html=$self.find('textarea').val(); 
    $.
    ajax({
     
    async:false,
     
    type"POST",
     
    url"parse.php",
     
    data: {'ajaxobj':$obj},
     
    success: function(data){ $self.value=data; },
     
    error: function(){ $self.value='Save error'; }
    });
    $self.html($self.value); 
    Dove $self è il tag DIV che contiene la textarea e che conterrà il codice HTML finale
    e dove $obj è l'oggetto che contiene il contenuto della textarea ed altre informazioni necessarie a parse.php

    Il codice HTML risultato da parse.php, viene correttamente salvato nel database (tantè che al caricamento della pagina tutto è perfetto). Spedito indietro alla funzione $.ajax e inserito nel DIV viene restituito correttamente tranne le newline che appaiono come \n.

    Questo è il risultato di una prova ottenuto con alert(data);
    codice:
     
    Prova di codice\nquesto testo dev'essere maiuscolo ed a capo.\n\n\n[img]/images/nascosta.jpg[/img]\nVisualizza anche le immagini.
    Ho provato anche con funzioni di replace su data e su $self.value tipo
    codice:
    data.replace(/\n/g, '
    ');
    oppure
    self.value.replace(/\n/g, '
    ');
    ma non ottengo cambiamenti.


    Sapete aiutarmi?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    parse.php cosa riceve (echo di ajaxobj)? E cosa restituisce?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    ajaxjob è un array

    In questo esempio riceve
    codice:
    Prova di codice
    questo testo dev'essere *maiuscolo* ed a capo.
    
    
    !/images/nascosta.jpg(Immagine nascosta)!
    Visualizza anche le immagini.

    essendo textile il parser eseguo $snip = mck_textile_easy($ajaxobj[h'tml']);
    $snip prima di essere restituito viene salvato su db e su db è salvato correttamente.
    Quindi viene restituito con die($snip);
    ed ottengo
    codice:
    
    Prova di codice
    \nquesto testo dev’essere maiuscolo ed a capo.</p>\n\n	
    
    <img src=\"/images/nascosta.jpg\" title=\"Immagine nascosta\" alt=\"Immagine nascosta\" />
    \nVisualizza anche le immagini.</p>

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Dopo aver riletto più attentamente il tuo primo post ho capito che il problema è su \n e visto che già inserisci tag strong o img perché non usi direttamente tag br al posto del \n, dato che hai già provato il replace senza risultati non saprei cos'altro provare
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Andrea, non inserisco a mano i tag strong ed img, ma è la classe Textile che tramuta gli *..* e !..! in strong ed img.

    Provando a stampare tramite alert il risultato di del parsing, ottengo il codice corretto:

    codice:
    
    Prova di codice
    
    
    questo testo dev’essere maiuscolo ed a capo.</p>
    
    
    
    
    [img]/images/nascosta.jpg[/img]
    
    
    Visualizza anche le immagini.</p>
    ma appena lo richiedo tramuta le linee vuote in \n. Ho provato da php ad eliminarle ma... non riesco.

  6. #6
    Risolto:

    quando parso il risultato tramite textile, utilizzavo il comando doSlash() per poter salvare i dati sul DB.
    Questo andava ad inserire \n nelle righe bianche.

    Togliendo il doSlash solo per la voce che restituisco ad Ajax, il problema si è risolto!!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.