Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Какими string-ами питается JavaScript-функции? / 16 сообщений из 16, страница 1 из 1
22.01.2008, 07:02
    #35077512
burton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какими string-ами питается JavaScript-функции?
Сабж: Мне нужно передать в ф-ию JavaScript параметр типа string. Я заметил вот какую вещь: когда передаешь строку, не содержащую двойных кавычек, то всё тип-топ. В противном случае - ошибка на точке входа в эту ф-ию, то есть он эти кавычки воспринимает не как часть строки, а как реальные кавычки и, соответственно, весь код (html, джава в нем) сдвигается из-за лишних кавычек.
Я попобовал пойти таким путем: прежде, чем передать строку джаве, я ее пропустил через ф-ию
Код: plaintext
$a = htmlspecialchars($row[ 1 ], ENT_QUOTES);
И толькои потом дал ее в ф-ию:
Код: plaintext
echo "<tr><td style='cursor: pointer' onclick='Test(\"".$a."\")'
Всё равно, один хрен не работает...хотя код сгенерированной странички смотрю, там кавычки все заменяны, всё ок...
ГДЕ ТУПНЯК?
...
Рейтинг: 0 / 0
22.01.2008, 07:57
    #35077544
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какими string-ами питается JavaScript-функции?
Код: plaintext
1.
echo "<tr><td style='cursor: pointer' onclick='Test(".$a.")'
?

P.S. Не забываем про два восьмых вагона: ' || " в $a
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
22.01.2008, 09:05
    #35077609
burton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какими string-ами питается JavaScript-функции?
To Ex_Soft:
Не понял тебя. Я новичек, с подобными вещами вожусь недавно. Ты имеешь ввиду, что в переменной $a должны быть ещё какие-то символы? Или же в этой строчке чего-то не хватает?
Код: plaintext
onclick='Test(\"".$a."\")'
Что куда надо вставить, чтоб Джава проглатил это?:)
...
Рейтинг: 0 / 0
22.01.2008, 10:31
    #35077816
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какими string-ами питается JavaScript-функции?
В JS используется два символа для определения строковой константы.
Код: plaintext
1.
var a='Привет "Тормоз"!'
var b="Сам ты 'Тормоз'..."
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
22.01.2008, 10:57
    #35077930
burton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какими string-ами питается JavaScript-функции?
Спасибо за ответ krvsa, но это мне известно. видишь ли, дело в том, что при просмотре сгенерированный HTML, там кавычки стоят так как ты написал. Там дело не в этом по всей видимости...
...
Рейтинг: 0 / 0
22.01.2008, 11:18
    #35078042
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какими string-ами питается JavaScript-функции?
Тогда покажи чего там получается...
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
22.01.2008, 11:48
    #35078194
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какими string-ами питается JavaScript-функции?
burton
в переменной $a должны быть ещё какие-то символы?

Представь себе, что получится в итоге, если $a присвоится, 4 example, КСП "Пам'яті Леніна"
...
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
22.01.2008, 11:51
    #35078205
burton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какими string-ами питается JavaScript-функции?
Вот что он генерирует.
Код: plaintext
<td onclick="Test('Test quote: " Test single quote: '')">
в базе лежит соответствующая строка: `Test quote: " Test single quote: '` (строка в косых кавычках). прежде чем подать ее для генерации я ее пропускаю через ф-ию (см. начало сабжа) и она меняет одинарные и двойные кавычки на соответствующие &-последовательности (если этого не делать то ексепшнов вылетает поболя).
Эксэпшн такой: Error: Expected ')'. То есть он кавычку строки из базы расценивает как за нормальную кавычку (не смотря на то, что они преобразованы!). Самое что интерсное я заметил, что если подминять только двойные кавычки, то всё тип-топ. Вся вазня в одинарных...
...
Рейтинг: 0 / 0
22.01.2008, 12:01
    #35078256
burton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какими string-ами питается JavaScript-функции?
в выше описанном сгенерированном коде на самом деле вместо кавычек соответствующие &-последовательности!!!!!!! Опись...
...
Рейтинг: 0 / 0
22.01.2008, 12:13
    #35078327
burton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какими string-ами питается JavaScript-функции?
Дай-ка думаю вставлю я сгенирированный код в редактор, чтоб подсветить всю структуру. А в редакторе ать и эта строка красным подчеркнутым шрифтом. Выяснил, что там был один перевод строки (строка была другая: два абзаца, с предыдущей строкой я разобрался). То есть при чтении из базы надо в переменной пхп-шной переконвертить перевод строки в <br>.
Как эт сделать я ещё пока не нашел...Если кто в курсах, расскажите.
...
Рейтинг: 0 / 0
22.01.2008, 13:19
    #35078603
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какими string-ами питается JavaScript-функции?
burton
Вот что он генерирует
Код: plaintext
1.
<td onclick="Test('Test quote: " Test single quote: '')">

Ну и?.. Неужели не видно?..
<td onclick= "Test('Test quote: " Test single quote: '')">
Все синее - мимо кассы... Вам нуна сделать что-то а-ля
Код: plaintext
1.
.Replace("\\","\\\\").Replace("'","\\'").Replace("\"","\\x22")
BTW, и не <br> , а \r\n если уж JS
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
22.01.2008, 18:18
    #35079796
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какими string-ами питается JavaScript-функции?
хе-хе, тут надо двойную кавычку через амп кодить, а одинарную – экранировать слешем.
что-нить типа того:
Код: plaintext
1.
$a = htmlspecialchars("'".addslashes($a)."'", ENT_QUOTES);
echo....
...
Рейтинг: 0 / 0
25.01.2008, 04:43
    #35086558
burton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какими string-ами питается JavaScript-функции?
В конечном итоге, собрав всё воедино, пришел к такой проблеме:
У меня есть динамический контент, в нем у меня вложенный онклики и т.п. Ну типа когда статья длиная слишком, ее обрезаю, ставлю многоточие и рядом стрелочку. при клике на нее, сообщение разворачивается.

Вот как это выглядит щас, привожу соответствующую ячейку таблицы:
Код: plaintext
1.
<td onclick="Test('<span class=test>2nd DECEMBER 2007</span><br><br>MTV is for everyone...   <span id=Bad onclick=Test(\'MTV is for everyone, he-he!\')><img src=Img/Cursor.gif></span><br><br>')">Click Me!</td>
В этом примере сперва одиноко болтается Click Me!, затем появляется обрезанная статья, а затем при клике на стрелочку (Cursor.gif) должна разворачиваться вся статья. Так вот она не разворачиватся. В чем тут глюг???
...
Рейтинг: 0 / 0
25.01.2008, 04:46
    #35086559
burton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какими string-ами питается JavaScript-функции?
Забыл...Код ф-ии Test:
Код: plaintext
1.
2.
3.
4.
  function Test(str)
  {
	document.getElementById('news').innerHTML = str;
  }
news это id-шник дива.
...
Рейтинг: 0 / 0
25.01.2008, 11:14
    #35087086
конрад_карловиш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какими string-ами питается JavaScript-функции?
я конечно не спец, но что будет если заменять одинарную кавычку на \' либо на две подряд одинарных ''(тут '+')
...
Рейтинг: 0 / 0
25.01.2008, 12:31
    #35087451
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какими string-ами питается JavaScript-функции?
значение атрибута с пробелами не взял в кавычки.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Какими string-ами питается JavaScript-функции? / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]