2015-02-02 4 views
1

У меня возникли проблемы с получением некоторых данных из текстового поля с помощью javascript. То, что я пытаюсь сделать, это взять значение из текстового поля и поместить его в предупреждение и скопировать его. Вот код, который я в настоящее время:Ошибка сброса символов новой строки Javascript

var copyString = "Date: <%= TXT_Details_DateReq.Text %>; 
window.prompt('Press CTRL+C, then ENTER\n\nNOTE: SAVE ANY CHANGES BEFORE COPYING TEXT!', copyString); return false; 

Так что этот код работает прекрасно, если текст в текстовое поле только одна строка. Но если текст в текстовом поле имеет несколько линий, такие как:

"This is one line 
here is a second line" 

Код выбросит ошибку Uncaught Syntax Error: Unexpected Token ILLEGAL. Из того, что я исследовал, это бросает, когда есть незаконный символ, поэтому я считаю, что это символ CRLF из текстового поля.

Любая идея, как исправить это?

Спасибо.

+0

https://msdn.microsoft.com/en-us/library/system.string.replace%28v=vs.110%29.aspx – Andreas

+0

Что я должен заменить? –

+0

Новая строка с ней с экранированной версией - '\ n' (или' Environment.NewLine') -> '\\ n' – Andreas

ответ

0

Символам новой строки могут предшествовать символы возврата ('\r').

своп '\n' с '\r\n', и вам должно быть хорошо идти.

Или даже лучше: просто обработайте все случаи нового символа линии, а не проверяйте, в каком случае оно будет применено. Это заменить символ новой строки:

htmlstring = stringContainingNewLines.replace(/(\r\n|\n|\r)/gm, "<br>"); 

Resource

надеюсь, что это помогает.

+0

Это для Javascript. Текст с новой строкой относится к серверному элементу управления, поэтому значение нужно заменить на сервере, а не на клиенте. Кроме того, тег '
' не будет работать вообще в подсказке. – Andreas

+0

Основной тег на OP _is_ Javascript. –

+0

И как вы думаете, вы можете исправить ошибку «Невыпущенный синтаксис: непредвиденная ошибка Token ILLEGAL» в части Javascript с Javascript ?! – Andreas

Смежные вопросы