2009-07-26 20 views
6

Estoy tratando de usar Ajax con JQuery, lo que quiero hacer es enviar un valor de cuadro de texto multilínea a php con Ajax.eliminar nueva línea al enviar solicitud al servidor a través de Ajax Post con JQuery

Estoy usando ese código, envía el valor de txtAnswer a php, desafortunadamente, elimina nuevas líneas (\ n) de los datos. ¿Cómo puedo resolver este problema? Gracias de antemano.

$.post(
    'post-answer.php', 
    { 
     answer: $("#txtAnswer").val(), 
     qid: <?= $question_ID ?> 
    }, 
    function (ajaxResponse) { 
     $('#answers').html(ajaxResponse) 
    } 
    ); 
+0

¿Dónde se eliminan las líneas nuevas? ¿Cuando recibes del cliente o cuando lo sacas? – Nathan

Respuesta

3

¿Está seguro \ n son eliminados? Lo que sucedió si se pone esto en su archivo PHP:

<?php 
print_r($_REQUEST['answer']); 
?> 

usando Firebug se puede ver la salida y estar seguro de si \n están allí o no.

Nunca me entero de jQuery o prototipo eliminación \n

recordar que si desea mostrar nuevas líneas en formato html que necesita convertirlos a <br/>. Lo cual creo que estás tratando de hacer.

Puede usar nr2br para hacerlo.

4

También he encontrado este problema. Tengo un div que actualiza una vista previa a medida que un usuario escribe en un área de texto. Esto es lo que he encontrado para trabajar en mi situación:

jQuery('#task_description').keyup(function() { 
    jQuery('#pre_description').html(jQuery('#task_description').val().replace(/\n/g, '<br \\>')); 
} 
2

estoy usando .ajax con el tipo: Enviar y es el ahorro de las nuevas líneas para mí

+0

En realidad, no importa, una vez que obtuve el tipo de solicitud .ajax establecido en POST, lo solucionó (usar GET pierde las nuevas líneas). – justinl

+0

Al cambiar un GET a un POST, solucioné esto por mí. – epaps

6

Probar: escape($("#txtAnswer").val())

= -)

+0

¡Esta es la respuesta, gracias! – ozz

+1

Escape está en desuso: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/escape – mikemaccana

Cuestiones relacionadas