innerHTML > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

innerHTML 정보

innerHTML

본문

클럽4를 만들기위해서 열공중입니다.

기본적으로 div/css를 이용해서 틀을 만들고 그렇게 만들어진 틀에 innterHTML 값을 넣으면
될 것 같아서 해봤는데 문제가 있네요.

$("#test").innerHTML = <?=latest('basic', 'qna', 12, 70)?>;

위와 같은 경우 latest...에서 return하는 값에 쌍 따옴표가 있어서 문제가 되는데
어떻게 해결해야 할까요???


<?
include_once("./_common.php");
include_once("$g4[path]/lib/latest.lib.php");
?>

<script src="<?=$g4[path]?>/js/jquery.js" type="text/javascript"></script>

<div id="test">
</div>

<?=latest("basic", 'qna', 12, 70)?>

<script type="text/javascript">
$(document).ready(function() {
$("#test").innerHTML = "<?=latest('basic', 'qna', 12, 70)?>";
});
</script>

댓글 전체

아~ 문제가 되는 쌍따옴표는 <?=latest('basic', 'qna', 12, 70)?>에서 리턴되는 값이어요. 코드를 읽어들일때...

$("#test").innerHTML = " <table width="100%"> ... " 이렇게 될 수 있거든요.
});

편법으로 제가 생각한 것은 아래와 같이 보이지 않는 div에 값을 넣어두고
그것을 이동하는 것인데, 이경우는 코드만 복잡해지고 왠지 이렇게 해서는 안될거 같아서요.

---

<?
include_once("./_common.php");
include_once("$g4[path]/lib/latest.lib.php");
?>

<script src="<?=$g4[path]?>/js/jquery.js" type="text/javascript"></script>

<div id="test">
</div>

<div id="test1" style="display:hidden">

</div>

<script type="text/javascript">
$(document).ready(function() {
$("#test").innerHTML = $("#test1").innerHTML;
});
</script>
히~~역시 그렇게 쉬울리가 없지..
불당아빠님이 질문에 어쩐지 포인트가 왕창걸렸다 싶었더니..
댓글을 읽었더니 머리가 마구 복잡해졌어..난 기권~
unterminated string literal
[Break on this error] $("#test").innerHTML = "\n

ie에서는 종결되지 않은 문자열상수라고 오류메시지가 나와요

불벌레로 보시면 오류가 보여요.

http://demo.opencode.co.kr/test.php
그렇다면 \n을 지워버리죠..

$("#test").innerHTML = "<?=str_replace("\n", "", addslashes(latest('basic', 'qna', 12, 70))?>";

근데 지금 소스를 보면 \n을 \\n으로 치환하지 않으신 것 같은데요..
아...소스를 제가 계속 수정하고 있어서 그래요.

그래도 오류는 같네요. 오류의 원인이 도대체 뭐죠? ㅠ..ㅠ...


<?
include_once("./_common.php");
include_once("$g4[path]/lib/latest.lib.php");
?>

<script src="<?=$g4[path]?>/js/jquery.js" type="text/javascript"></script>

<div id="test" style="display:block;">
</div>

<script type="text/javascript">
$(document).ready(function() {
$("#test").innerHTML = "<?=str_replace('\n', '', addslashes(latest('basic', 'qna', 12, 70)))?>";
});
</script>
$("#test").innerHTML = $test1;
$test1='<div id=\"test1\" style=\"position:absolute;visibility:inherit;\">.addslashes(latest('basic', 'qna', 12, 70)). </div>';

뭔지모르겠지만 이런식이면 어떻까요...
$("#test").innerHTML = $("#test1").innerHTML;

이런식으로 하면 같은 데이터가 2번 전송되게 되쟎아요? ㅠ..ㅠ...

네이버 지식인에서는 addslashes하면 된다고 하는데, \n에서 문제가 생기네요
아~ append를 시켜도 되겠네요.
----

http://www.webdeveloper.com/forum/showthread.php?t=68981
원인을 찾았어요. 1줄로 써주라고 하네요. ㅠ.ㅠ...

그런데 innerHTML 내용의 줄바꿈 문자를 싹 지우면 되는데,

$("#test").innerHTML = "<?=str_replace('\n', '', addslashes(latest('basic', 'qna', 12, 70)))?>";

알려주신대로 하니까 줄바꿈문자가 안지워진거 같아요.
따옴표때문에 안 바뀌는겁니다...
쌍따옴표로 해주셔야 하는데...

아래 방법도 있습니다.

<?
$tmp = explode("\n", latest('basic', 'qna', 12, 70));
$tmp = implode("", $tmp);
echo $tmp;
?>
<? $tmp=str_replace("\n", "", addslashes(latest('basic', 'qna', 12, 70)));?>
<script type="text/javascript">
$(document).ready(function() {
$("#test").innerHTML = "<?=$tmp?>";
});

헉헉...감사합니다. 쌍따옴표로 바꾸고 explode도 안되네요

뭘해도 아래의 코드가

$("#test").innerHTML = "
<table width=100% cellpadding=0 cellspacing=0>
<tr>

이렇게 안바뀌네요.
$("#test").innerHTML = "<table width=100% cellpadding=0 cellspacing=0><tr>
오~ 감솨 ^^
한번 더 str_replace를 하니까 해결되네요.
이쁘게 만든 빌더를 보여드리겠습니다. ㅎㅎ

<?
include_once("./_common.php");
include_once("$g4[path]/lib/latest.lib.php");
?>

<script src="<?=$g4[path]?>/js/jquery.js" type="text/javascript"></script>

<span id="test" style="display:block;">
</span>

<?
function get_innerHTML($str) {
    return str_replace('\r', '',str_replace("\r\n", '',addslashes($str)));
}
//$tmp = str_replace('\r', '',str_replace("\r\n", '',addslashes(latest('basic', 'qna', 12, 70))));
?>

<script type="text/javascript">
$(document).ready(function() {
    $("#test").get(0).innerHTML = "<?=get_innerHTML(latest('basic', 'qna', 12, 70))?>";
});
</script>
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT