Как получить одинарные кавычки, чтобы остаться в переменной? - PullRequest
1 голос
/ 13 декабря 2011

Это комбинация классического ASP и Javascript, мы пытаемся вставить одну кавычку вокруг каждого элемента, но она не работает.

В конечном итоге это выглядит так: 10234,12343 вместо «10234», «12343»,

(запятая, которую я раздену позже) ...

Что можно сделать по-другому, чтобы сохранить сингл ItemNo в кавычках?

var Prefix_JS_Item = [<%For intA = 1 to intCount%><%="'" & trim(Mid(cartobj(intA).Item("ItemNo"),4)) & "',"%><%Next%>];
document.write(Prefix_JS_Item);

Ответы [ 3 ]

2 голосов
/ 13 декабря 2011

Сценарий делает то, что вы хотите. То, как вы проверяете, это то, что не так.

После выполнения ASP у вас будет '10234','12343' внутри JavaScript. Чтобы увидеть его, перейдите в «просмотр исходного кода» (CTRL + U) в вашем браузере.

Тогда вы пишете это в документ. Для JavaScript '10234' кавычки являются разделителями строки. Поэтому он будет писать только то, что внутри них.

Если вы все еще хотите иметь кавычки даже при записи его в документ, то:

... <%="""'" &        trim(Mid(cartobj(intA).Item("ItemNo"),4)) & """," %>
document.write(Prefix_JS_Item);

Который в javascript будет выглядеть так: "'10234'","'12343'"

РЕДАКТИРОВАТЬ: Чтобы ограничить цитаты в ASP, вы используете другую цитату.

2 голосов
/ 13 декабря 2011

До сих пор было две попытки, но попробуйте это: -

var Prefix_JS_Item = [<%For intA = 1 to intCount%><%="""'" & trim(Mid(cartobj(intA).Item("ItemNo"),4)) & "'"","%><%Next%>]; 
document.write(Prefix_JS_Item); 

Javascript поддерживает оба «и» для включения строкового литерала. Поэтому для включения «в литерал вы можете использовать» для включения литерала. Теперь в VB для включения «в строковый литерал вы удваиваете их до« ».

Кстати, не «цитируйте» меня (извините), но в javascript я думаю, что вы можете сойти с запятой.

1 голос
/ 13 декабря 2011

Вы должны избежать одиночной кавычки

...<%="\'" & trim(Mid(cartobj(intA).Item("ItemNo"),4)) & "\',"%><%Next%>];
...