scriptaculous ajax.inplaceEditor는 HTML에서 작동하지 않습니다
-
21-08-2019 - |
문제
데이터베이스에서 데이터를 편집하기 위해 scriptaculous ajax.inplaceEditor를 사용하고 있습니다.
실제로 데이터베이스에 데이터가 없을 때 처음에는 완벽하게 작동합니다. 내비게이터 소스 코드에있는 내용은 다음과 같습니다.
<p id="edit" title="Click to edit" >
New text to edit here
</p>
새 레코드를 만들고 자동으로 HTML을 추가하여 디자인을 변경하고 AJAX.INPLATEEDITOR 덕분에 아무런 문제없이 계속 변경할 수 있습니다. 현재 소스 코드를 보는 방법은 다음과 같습니다.
<p id="edit" title="Click to edit" >
<ol>
<li>item1</li>
<li>item2</li>
</ol>
</p>
좋아, 이것은 완벽합니다. 그리고 이것은 데이터베이스에서도 완벽합니다 ...
그러나 전체 페이지를 다시로드하면 편집 가능한 단락의 초기 값은 이제 데이터베이스에서 직접 오는 HTML입니다. 소스 코드에있는 내용은 다음과 같습니다.
<p id="edit" title="Click to edit"/>
<ol>
<li>item1</li>
<li>item2</li>
</ol>
보시다시피, < / p>는 신비하게 빠졌고 단락은 더 이상 편집 가능하지 않습니다 ... Rich는 단락이 실제로 자체 종료되고 있음을 알았습니다 ... 나는 또한 HTML 텍스트를 데이터베이스에 수동으로 설정하고, 그리고 데이터베이스에 수동으로 설정했습니다. 결과는 동일합니다. < / p>가 누락되었습니다 ...
무슨 일이 일어나고 있는지, 어떻게 고치는 방법에 대해 알고 있습니까?
정말 고맙습니다..
해결책
당신은 포장 할 수 없습니다 ol
s in p
에스. 즉, <ol>
닫습니다 p
당신이 생각하는 것보다 일찍. 나는 a를 사용하는 것이 좋습니다 div
insead.
다른 팁
HTML을 올바르게 복사했다고 가정하면 원래 HTML 블록의 끝의 P 태그는 슬래시와 함께 첫 번째 블록에서 P 태그를 닫았 기 때문에 불필요합니다.
<p id="edit" title="Click to edit"/>
^closes the p tag
나는 편집기 "수정"html이라고 가정하므로 주문 된 목록이 시작되기 전에 p 태그가 닫히기 때문에 최종 닫는 p 태그를 제거했다고 가정합니다.