Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
[Вопрос] jquery, obj.html() или obj.innerHTML |

22.04.2008, 18:41
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
[Вопрос] jquery, obj.html() или obj.innerHTML
Вот заметил такое вот свойство у jquery
Пример надуманный, но хорошо демонстрирует проблему:
Вообщем много обычного HTML кода
PHP код:
$new =<<<CONTENT
<div id="content" style="float:left; width:100%;">
<h1>Members: </h1>
<table class="TableMain" cellpadding="0" cellspacing="0"/>
<thead>
<tr align="center">
<th width="125" id="header">id</td>
<th width="300" id="header">EMAIL</td>
<th width="*" id="header"> </td>
<th width="55" id="header">EDIT</td>
<th width="55" id="header">DELETE</td>
</tr>
</thead> <tr align="center">
<td><a href="/inside/member/edit/39/">39</a></td>
<td><a href="/inside/member/edit/39/">ntest@test.new</a></td>
<td><a href="/inside/gallery/39/" style="text-decoration:underline;">Edit gallery</a></td>
<td><a href="/inside/member/edit/39/"><img src="/_admin/templates/images/b_edit.png" border="0" width="16" height="16"></a></td>
<td><a href="javascript: onDelete(39);"><img src="/_admin/templates/images/b_drop.png" border="0" width="16" height="16"></a></td>
</tr> <tr align="center">
<td><a href="/inside/member/edit/47/">47</a></td>
<td><a href="/inside/member/edit/47/">test@test.ua</a></td>
<td><a href="/inside/gallery/47/" style="text-decoration:underline;">Edit gallery</a></td>
<td><a href="/inside/member/edit/47/"><img src="/_admin/templates/images/b_edit.png" border="0" width="16" height="16"></a></td>
<td><a href="javascript: onDelete(47);"><img src="/_admin/templates/images/b_drop.png" border="0" width="16" height="16"></a></td>
</tr> <tr align="center">
<td><a href="/inside/member/edit/48/">48</a></td>
<td><a href="/inside/member/edit/48/">test@test.test</a></td>
<td><a href="/inside/gallery/48/" style="text-decoration:underline;">Edit gallery</a></td>
<td><a href="/inside/member/edit/48/"><img src="/_admin/templates/images/b_edit.png" border="0" width="16" height="16"></a></td>
<td><a href="javascript: onDelete(48);"><img src="/_admin/templates/images/b_drop.png" border="0" width="16" height="16"></a></td>
</tr> <tr align="center">
<td><a href="/inside/member/edit/55/">55</a></td>
<td><a href="/inside/member/edit/55/">vff@effe.efe</a></td>
<td><a href="/inside/gallery/55/" style="text-decoration:underline;">Edit gallery</a></td>
<td><a href="/inside/member/edit/55/"><img src="/_admin/templates/images/b_edit.png" border="0" width="16" height="16"></a></td>
<td><a href="javascript: onDelete(55);"><img src="/_admin/templates/images/b_drop.png" border="0" width="16" height="16"></a></td>
</tr> <!--<tfoot>
<tr>
<td colspan="5"><input type=button value="Add member" class=inpButton onclick="window.location = '/inside/member/add/';"></td>
</tr>
</tfoot>-->
</table><input type=button value="Add member" class=inpButton onclick="window.location = '/inside/member/add/';">
</div>
CONTENT;
// Убираем переносы
$new = ereg_replace("\r\n", "", $new);
// Экранируем двойные кавычки
$new = ereg_replace("\"", "\\\"", $new);
Убираем переносы и Экранируем двойные кавычки
Это для того, что бы, код был в одну строку, иначе не сработает obj.innerHTML = [только строка, без переходов на новую]
Идем дальше:
PHP код:
<body>
<div id="content"></div>
<script>
// $("#content").html("<?=$new?>"); НЕ РАБОТАЕТ
var obj = document.getElementById("content");
obj.innerHTML = "<?=$new?>"; // РАБОТАЕТ!!!
</script>
</body>
Вопрос:
Какие еще теги нужно заменять, что сработал и вариант с jquery, (пробывал - "\n", "\t", "'")
Если вообще заработает
ps возможно это символ - "@"
Последний раз редактировалось Naydav; 22.04.2008 в 19:07..
|
|
|

22.04.2008, 19:48
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Нужно смотреть на код, который получается в итоге, т.е. после того, как отработает php и получится страница.
P.S. может, не работает потому, что закомментировано? %)
|
|
|

22.04.2008, 20:41
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
.append ?
|
|
|

22.04.2008, 21:04
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
.append - Не сработает, так же как и
var content = "test
test";
obj.innerHTML = content;
так как $new (var content ) - содержит недопустимые символы, такие как перенос строки и @, нужно добавить $new = ereg_replace("@", "at", $new);
придеться на это обращать внимание...
ps для аякса использую библиотеку xajax, интересно какое мнение относительно нее у античатовцев
|
|
|

22.04.2008, 21:29
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Это:
Код:
var content = "test
test";
не работает по правилам JS, библиотека тут не при чём.
Читаем спецификацию ecma-262:
7.3 Line Terminators
Like white space characters, line terminator characters are used to improve source text readability and to
separate tokens (indivisible lexical units) from each other. However, unlike white space characters, line
terminators have some influence over the behaviour of the syntactic grammar. In general, line terminators
may occur between any two tokens, but there are a few places where they are forbidden by the syntactic
grammar. A line terminator cannot occur within any token, not even a string. Line terminators also affect
the process of automatic semicolon insertion (7.8.5).
The following characters are considered to be line terminators:
Код:
Code Point Value Name Formal Name
\u000A Line Feed <LF>
\u000D Carriage Return <CR>
\u2028 Line separator <LS>
\u2029 Paragraph separator <PS>
|
|
|

23.04.2008, 13:19
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
astrologer
Я о том, что jquery не пропускает еще и "@"
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|