큰 따옴표가 포함 된 HTML 값 속성을 가져올 수 없습니다.

Prosen

내 html 속성은 다음과 같습니다.

<span>
  <input 
    class="editWidgetName" 
    type="text" 
    maxlength="100" 
    value="Untitled "NAME" 30\10\2017" 
    style="display:none;padding-right:1px;"
    />
</span>

위의 'editWidgetName'클래스의 값을 가져올 수 없습니다. 항상 '제목 없음'만 가져옵니다. ' "'부분 뒤의 문자열이 생략되었습니다. '"'를 이스케이프하기 위해 자바 스크립트를 시도 value.replace(/\"/g, '\\"')했지만 결과는 동일합니다.

다시 한 번 다음과 같은 js 함수를 사용하여 값 속성을 인코딩하려고 시도했습니다.

function encodeHTML(s) {
    return s.split('&').join('&amp;')
            .split('<').join('&lt;')
            .split('"').join('&quot;')
            .split("'").join('&#39;');
}

그러나 결과는 '정의되지 않음'으로 가져옵니다.

이 문제를 해결할 다른 방법을 제안하십시오. 감사.

user3114072

문제 해결은 아무 의미가 없습니다. 좋은 습관을 갖는 것이 해결책입니다.

@ProsenjitDutta, 논리, 스타일 및 컨테이너를 분리하는 데 최선을 다하십시오. 시작으로 다음을 수행 할 수 있습니다.

  • style속성을 사용하지 마십시오 . 대신 CLASSes 및 ID 속성과 함께 CSS를 사용하십시오.
  • HTML 코드에 값을 작성하지 마십시오. 대신 자바 스크립트 (또는 템플릿)를 사용하세요.
  • 시간을내어 가장 좋은 방법을 찾으십시오 (당신의 친구이기도합니다). 분할 / 결합을 반복하는 것은 나쁜 습관 (느리고 추악함)이므로 대신 Regexp를 사용하십시오.

// Maybe typo here (fixed)----v   (backslash)

let name = 'Untitled "NAME" 30/10/2017'; 

// With jQuery:

$('#editWidget').val(name) ;

// Without jQuery

document.querySelector('#editWidget').value = name ;
/**
  * Don't hard code the style in the tag
  * Use CSS instead (as below)
  *
  */
input.editWidgetName {
  width: 200px;
  padding-right: 1px;
  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span>
<!--          v---------- an ID here                 -->
  <input id="editWidget" value="" class="editWidgetName" type="text" maxlength="100" />
<!--    empty value --------^                        -->

</span>

function encodeHTML(s) {
  return s.replace(/([&<"'])/g, function(match, char){
  switch(char){
    case '&': return '&amp;';
    case '<': return '&lt;';
    case '"': return '&quot;';
    case "'": return '&#39;';
  }
})}

let s = "var=val<pour\"voir'ca'" ;

console.log('s = ', encodeHTML(s));
.as-console-wrapper{max-height:100%!important;top:0;}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

포함 된 HTML에서 양식을 가져올 수 없습니다.

분류에서Dev

큰 따옴표가 포함 된 문자열을 반환하려고합니다.

분류에서Dev

Html.Kendo (). ComboBoxFor의 선택된 값을 가져올 수 없습니다.

분류에서Dev

HTML 요소의 업데이트 된 값을 가져올 수 없습니다.

분류에서Dev

동적으로 생성 된 HTML 테이블은 선택된 td 값을 가져올 수 없습니다.

분류에서Dev

추가 된 textearea 값을 가져올 수 없습니다.

분류에서Dev

findText 따옴표가 포함 된 것을 찾습니다.

분류에서Dev

큰 따옴표가 누락 된 문자열을 묶습니다.

분류에서Dev

속성 'indexOf'의 값을 가져올 수 없습니다.

분류에서Dev

system.reflection이 속성 값을 가져올 수 없습니다.

분류에서Dev

속성 'toLowerCase', JQUERY 1.10.2의 값을 가져올 수 없습니다.

분류에서Dev

OpenLayers 3.15.1- 'add'속성 값을 가져올 수 없습니다.

분류에서Dev

매월 말일이 포함 된 행을 가져올 수 없습니다.

분류에서Dev

PowerShell.exe를 사용하는 Start-Process는 작은 따옴표 및 큰 따옴표가 포함 된 다른 동작을 나타냅니다.

분류에서Dev

@ Html.DropDownListFor 선택한 값을 가져올 수 없습니다.

분류에서Dev

HTML에서 테이블 값을 가져올 수 없습니다.

분류에서Dev

따옴표가 포함 된 문자열을 변수에 할당

분류에서Dev

.html 확장자가있는 웹 페이지에 표시 할 PHP 측에서 생성 된 세션 변수 값을 가져올 수 없습니다.

분류에서Dev

달러 기호 ($ {var})가 포함 된 속성을 읽을 수 없습니다.

분류에서Dev

Jquery : JSON 데이터로로드 된 HTML 5 테이블의 값을 가져올 수 없습니다.

분류에서Dev

잘못된 JSON 큰 따옴표 오류입니다. 이미 큰 따옴표가있는 경우 구문을 수정하려면 어떻게해야합니까?

분류에서Dev

반응 js는 setState 콜백 함수에서 업데이트 된 값을 가져올 수 없습니다.

분류에서Dev

따옴표가 포함 된 값을 sed 명령 및 정규식으로 바꿉니다.

분류에서Dev

max ()를 포함하는 쿼리에 대해 올바른 열 값을 가져올 수 없습니다.

분류에서Dev

큰 따옴표 아래에있는 값을 가져와야합니다.

분류에서Dev

jQuery는 큰 따옴표 안에 입력 값을 가져옵니다.

분류에서Dev

Lua 함수에서 C 함수 반환 값을 가져올 수 없습니다.

분류에서Dev

Spring MVC가 세션에 설정된 속성을 가져올 수 없습니다.

분류에서Dev

PHP는 큰 따옴표가 포함 된 JSON 문자열의 일부를 제거하는 데 어려움을 겪고 있습니다.

Related 관련 기사

  1. 1

    포함 된 HTML에서 양식을 가져올 수 없습니다.

  2. 2

    큰 따옴표가 포함 된 문자열을 반환하려고합니다.

  3. 3

    Html.Kendo (). ComboBoxFor의 선택된 값을 가져올 수 없습니다.

  4. 4

    HTML 요소의 업데이트 된 값을 가져올 수 없습니다.

  5. 5

    동적으로 생성 된 HTML 테이블은 선택된 td 값을 가져올 수 없습니다.

  6. 6

    추가 된 textearea 값을 가져올 수 없습니다.

  7. 7

    findText 따옴표가 포함 된 것을 찾습니다.

  8. 8

    큰 따옴표가 누락 된 문자열을 묶습니다.

  9. 9

    속성 'indexOf'의 값을 가져올 수 없습니다.

  10. 10

    system.reflection이 속성 값을 가져올 수 없습니다.

  11. 11

    속성 'toLowerCase', JQUERY 1.10.2의 값을 가져올 수 없습니다.

  12. 12

    OpenLayers 3.15.1- 'add'속성 값을 가져올 수 없습니다.

  13. 13

    매월 말일이 포함 된 행을 가져올 수 없습니다.

  14. 14

    PowerShell.exe를 사용하는 Start-Process는 작은 따옴표 및 큰 따옴표가 포함 된 다른 동작을 나타냅니다.

  15. 15

    @ Html.DropDownListFor 선택한 값을 가져올 수 없습니다.

  16. 16

    HTML에서 테이블 값을 가져올 수 없습니다.

  17. 17

    따옴표가 포함 된 문자열을 변수에 할당

  18. 18

    .html 확장자가있는 웹 페이지에 표시 할 PHP 측에서 생성 된 세션 변수 값을 가져올 수 없습니다.

  19. 19

    달러 기호 ($ {var})가 포함 된 속성을 읽을 수 없습니다.

  20. 20

    Jquery : JSON 데이터로로드 된 HTML 5 테이블의 값을 가져올 수 없습니다.

  21. 21

    잘못된 JSON 큰 따옴표 오류입니다. 이미 큰 따옴표가있는 경우 구문을 수정하려면 어떻게해야합니까?

  22. 22

    반응 js는 setState 콜백 함수에서 업데이트 된 값을 가져올 수 없습니다.

  23. 23

    따옴표가 포함 된 값을 sed 명령 및 정규식으로 바꿉니다.

  24. 24

    max ()를 포함하는 쿼리에 대해 올바른 열 값을 가져올 수 없습니다.

  25. 25

    큰 따옴표 아래에있는 값을 가져와야합니다.

  26. 26

    jQuery는 큰 따옴표 안에 입력 값을 가져옵니다.

  27. 27

    Lua 함수에서 C 함수 반환 값을 가져올 수 없습니다.

  28. 28

    Spring MVC가 세션에 설정된 속성을 가져올 수 없습니다.

  29. 29

    PHP는 큰 따옴표가 포함 된 JSON 문자열의 일부를 제거하는 데 어려움을 겪고 있습니다.

뜨겁다태그

보관