2017-10-23 4 views
0

자바 스크립트로 laravel blade 템플릿에 문제가 있습니다.Laravel Blade, 자바 스크립트로 textarea 멀티 라인 값 설정

텍스트 영역과 원래 값으로 텍스트 영역 값을 반환하는 취소 버튼이 있습니다. 그러나 원래 값에 여러 줄이 있으면 스크립트에서 오류가 발생합니다. 그 이유는 블레이드가 값을 \ n 새 줄에 인쇄하지 않기 때문입니다.

블레이드 구문 : HTML 페이지 소스에서

$('#my-textarea').val('{{ $oldValue }}');

:

: 하나 Uncaught SyntaxError: Invalid or unexpected token

이 결과 예상 자바 스크립트 오류 구문을 일으킬 것이다

$('#my-textarea').val('old value with multiline');

$('#my-textarea').val('old\nvalue\nwith\nmultiline');

, 내가 어떻게 실제 새로운 라인하지만 문자 \n로 변환되지 않고 값을 인쇄 할 수 있습니다 질문?

{{ 
    Form::hidden(
     'originalValue', 
     $oldValue, 
     array(
      'id'=>'originalValue' 
     ) 
    ) 
}} 

또는 추가 다음 코드 :

+1

확인 그의 [대답] (https://stackoverflow.com/a/4270709/3226121) – ljubadr

+1

HTML로 텍스트 영역의 내용을 설정하는 이유가 있습니까? '' – Devon

+0

@ljubadr 링크를 이용해 주셔서 감사합니다.하지만 먼저 "블레이드 방식"을 찾고 있는데, 아마도 블레이드 솔루션을 포기한 후에 사용할 것입니다. – codecarver

답변

0

추가는 블레이드 코드 다음은 "laravelcollective/html" 패키지를 설치 한 경우를

<input type="hidden" value="{{$oldValue}}" id="originalValue"> 

그리고은 jQuery를은 다음과 같습니다

$('#my-textarea').val($('#originalValue').val()); 
+0

나는 처음에는 당신의 방법을 사용하지만, 나는 또 다른 트릭을 발견했다. 나는 이것을 사용하는 것이 안전하다고 확신하지는 않지만, 나를 위해 일하고있다. ''$ ('# my-textarea') .val ({!! json_encode ($ oldValue) !!});''' 없이 '''val'' 함수 안에 인용하다 – codecarver