2010-09-15 91 views
7

El siguiente código es un ejemplo de texto colocado en un área de texto de una base de datos.Recortar los espacios en blanco iniciales/finales de textarea usando jQuery?

<textarea id="inputPane" cols="80" rows="40" class="pane"> 
<p> 
    some text here... 
</p> 
    <p> 
    more text here... 
</p> 
</textarea> 

usando .trim de lo que es el código de jQuery real para eliminar todos los espacios iniciales y finales y tienen la pantalla área de texto muy similar a la de abajo jQuery?

<textarea id="inputPane" cols="80" rows="40" class="pane"> 
    <p>some text here...</p> 
    <p>more text here...</p> 
</textarea> 

He trabajado en esto durante horas sin éxito tratando combinaciones diferentes con .trim

$('#inputPane')jQuery.trim(string); 
+1

Tenga en cuenta que lo anterior es HTML válido. Debe escapar de los caracteres '<' y '&' dentro de ''. Los navegadores le permiten salirse con la suya con el error, pero solo hasta que su texto contenga la cadena ' bobince

+0

Si tiene control sobre el servidor, y lo está enviando en un formulario, también puede hacer el analizando en el servidor. Probablemente sería más rápido de esa manera. En PHP, puedes usar la clase 'DOMDocument'. –

Respuesta

7

Usted podría intentar algo como esto:

jQuery(function(​$) { 
    var pane = $('#inputPane'); 
    pane.val($.trim(pane.val()).replace(/\s*[\r\n]+\s*/g, '\n') 
           .replace(/(<[^\/][^>]*>)\s*/g, '$1') 
           .replace(/\s*(<\/[^>]+>)/g, '$1')); 
});​ 

que da el resultado:

<p>some text here...</p> 
<p>more text here...</p> 

Aunque esto puede no ser a prueba de balas, debería probar ser mucho más rápido/más eficiente que crear elementos del valor HTML del área de texto.

+0

¡Dios mío ... esto funciona exactamente como lo necesitamos! oh gracias, gracias Kevin. Ahorrador de vida ... estoy respirando de nuevo. ;) Ustedes en stackoverflow son simplemente increíbles. Desearía poder desarrollarme como ustedes. Solo soy un veterano diseñador y diseñador front-end veterano de más de 10 años que últimamente ha tropezado con jQuery. ¡Gracias de nuevo! – caroline

+0

De nada. Tenga en cuenta que esto puede no funcionar exactamente como le gustaría con los elementos anidados y tal. ¿Qué tan simple será su HTML dentro de este '