Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473

    [js] Problema salto riga

    Ciao a tutti, ho usato ajax form dove invio i dati di un un form ad una pagina che salva i dati nel db.

    La pagina che salva i dati nel db è in asp e salva i dati correttamente, ma ricevo la stringa senza il salto riga ma con uno spazio.

    il codice che invia i dati alla mia pagina asp è il seguente:

    codice:
    $(document).ready(function() {
    	
    	//if submit button is clicked
    	$('#submit').click(function () {		
    	
    		
    		//Get the data from all the fields;
    		var comment = $('textarea[name=comment]');
    
    		//Simple validation to make sure user entered something
    		//If error found, add hightlight class to the text field
    		
       var rads = document.getElementsByName("r1");
       
       for (i=0; i < rads.length; i++)
    	{
          if (rads[i].checked)
    	  {
              chiusura= rads[i].value;
    	  }
    }
    		
    				
    		if (comment.val()=='') {
    			comment.addClass('hightlight');
    			return false;
    		} else comment.removeClass('hightlight');
    		
    		
    		
    		
    		//organize the data properly
    		var data = 'comment='  + encodeURIComponent(comment.val());
    		
    		
                    //data.replace(/%0D%0A/gi,"
    "); 		
                    //data.replace(/([^>\%0D\%0A]?)(\%0D\%0A|%0A\%0D|\%0D|%0A)/g,'$1$2'); 			
                    alert(data);	 
    			
    		//disabled all the text fields
    		$('.text').attr('disabled','true');
    		
    		//show the loading sign
    		$('.loading').show();
    		
    		//start the ajax
    		$.ajax({
    			//this is the php file that processes the data and send mail
    			url: "ordina.aspx",	
    			
    			//GET method is used
    			type: "POST",
    
    			//pass the data			
    			data: data,		
    			
    			//Do not cache the page
    			cache: false,
    			
    			//success
    			success: function (html) {				
    				//if process.php returned 1/true (send mail success)
    				
    				if (html==1) {					
    					//hide the form
    					$('.form').fadeOut('slow');					
    					
    					//show the success message
    					$('.done').fadeIn('slow');
    					
    					$('#mex').fadeIn('slow'); 
    					
    					//document.getElementById('mex2').innerHTML = comment.val();
    					
    				//if process.php returned 0/false (send mail failed)
    				} 
    				else
    				{ alert('Si è verificato un errore. Ti invitiamo a riprovare più tardi!');					
    					alert(html);
    				}
    			}		
    		});
    		
    		//cancel the submit button default behaviours
    		return false;
    	});	
    });

    In rosso è il codice che ho aggiunto per capire in che modo passa il dato javascript e alla seguente stringa
    ************
    abc 123
    def

    456
    **********

    quello che mi restituisce l'allert è
    ******
    comment=abc%20123%0Adef%0A%0A456
    ******

    il problema è che non riesco a far convertire il %0A in
    , ho provato entrambe le stringhe ma senza risultato!

    Qualcuno puo darmi una mano?

    Grazie

    Ciao

    Androita

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    usa questa:

    data.replace(/\n\r/g,"
    ").replace(/\n/g,"
    ").replace(/\r/g,"
    ");

    ma senza usare l'encode prima, casomai usalo dopo
    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
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    Ciao,
    grazie per la risposta.
    ho provato ma non mi stampa il
    per esser sicuro ho provato a sostituire il
    con un - (tratto), ma nell'allert non compare!

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    ho verificato il codice asci del salto riga e mi restituisce 10, non riesco a capire come mai non me lo converta...

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    A me funziona correttamente, fai vedere come hai adattato il suggerimento alla tua pagina reale
    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

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    ecco il codice aggiunto
    codice:
    var data = 'comment='  + comment.val();
    data.replace(/\n\r/g,"
    ").replace(/\n/g,"
    ").replace(/\r/g,"
    ");
    se anziche
    nel replace metto un carattere, questo non compare!

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ma l'assegnazione del risultato del metodo replace() ad una variabile dov'e'?

    pippo = data.replace(.....)
    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

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    si scusa, avevo sbagliato il copia incolla!

    codice:
    var data = 'comment='  + comment.val();
    var data2=data.replace(/\n\r/g,"
    ").replace(/\n/g,"
    ").replace(/\r/g,"
    ");
    alert(data2);

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    ok ora funziona!
    grazie per l'aiuto.

    ora l'unica cosa veramente strana è che non mi funziona la pagina dove asp.bet dove ricevo i dati!

    nel replace in java ho sostituito il
    con [] perche altrimenti mi viene l'errore che sto passando dei dati con tag html e percio pericolosi.

    nella pagina asp prendo il valore e d eseguo il replace cosi

    codice:
    testo=request.QueryString("comment")
    testo.Replace("[]", "
    ") 
    response.write(testo)
    Quando stampo il testo me lo stampa senza il br ma con [] come se non funzionasse il replace!!


  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    ok funziona anche in asp!!!

    codice:
    testo=testo.Replace("[]", "
    ")
    non avevo assegnato il metodo alla variabile!!!

    ora funziona tutto perfettamente!

    Grazie per l'aiuto

    Ciao


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.