powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Проблема с кавычками в vbs
4 сообщений из 4, страница 1 из 1
Проблема с кавычками в vbs
    #38690001
Stalp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Возникла следующая проблема. Редактирую ASP-страничку. В ней есть следующая строка на VBS:
Код: html
1.
2.
3.
<script language="VBScript">
location.href="?d1="&mid(formx.beg.value,1,2)&mid(formx.beg.value,4,2)&mid(formx.beg.value,7,4)&"&d2="&mid(formx.end.value,1,2)&mid(formx.end.value,4,2)&mid(formx.end.value,7,4)&"&fl="&formx.chk.value&"&zakaz="&formx.upr.value&"&prn=1"
</script>


Так вот, через formx.upr.value передаются строки. Иногда в них присутствуют кавычки ("") и тогда в url-ссылку передается неполная или вообще пустая (если начинается с кавычки) строка. Перепробывал несколько вариантов - решения не нашел.
На другом форуме посоветовали использовать Replace(formx.upr.value, """", "%22"), но результата это не дало.
К примеру, при отправке строки "ООО "Молоко"" (без внешних кавычек) получаем:
?d1=01072014&d2=07072014&fl=0&zakaz=ООО &prn=1
А должно быть:
?d1=01072014&d2=07072014&fl=0&zakaz=ООО %22Молоко%22&prn=1
Подскажите, пожалуйста, как в этом случае экранировать кавычки или изменить vbs-скрипт, чтобы передавались полные строки.
...
Рейтинг: 0 / 0
Проблема с кавычками в vbs
    #38690058
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stalp, работу по замене кавычек и подобных символов лучше переложить на браузер. Для этого сделай форму со скрытыми полями, присваивай им значения и отправляй.
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<form name="order" action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="get">
<input type="hidden" name="d1">
<input type="hidden" name="d2">
<input type="hidden" name="fl">
<input type="hidden" name="zakaz">
<input type="hidden" name="prn" value="1">
</form>

<script type="text/javascript">
function sendOrder() {
    var f = document.forms["order"];
    f.elements["d1"].value = ...;
    f.elements["d2"].value = ...;
    f.elements["fl"].value = ...;
    f.elements["zakaz"].value = ...;
    f.submit();
}
</script>



P.S. Вместо VBScript лучше использовать JavaScript т.к. Microsoft откажется от его поддержки рано или поздно.
...
Рейтинг: 0 / 0
Проблема с кавычками в vbs
    #38690121
Stalp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bazile , спасибо, переделал под JavaScript. Та же беда.
Если строка начинается с кавычки - нечего не отправляет:
?d1=01092011&d2=31122011&fl=0&zakaz=&prn=1
Если кавычки не в начале (ООО "Молоко"), то обрезает так же как и раньше:
?d1=01092011&d2=31122011&fl=0&zakaz=%CE%CE%CE+&prn=1
Без кавычек работает.
...
Рейтинг: 0 / 0
Проблема с кавычками в vbs
    #38690340
Stalp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bazile , еще раз спасибо вам за помощь. Разобрался я в чем дело. Строка обрезалась раньше, еще в момент формирования комбобокса с этими строками.
Было:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<select name="upr">
<option selected value="0">Все заказчики</option>
<%
rs.close
rs.Open "select distinct name_upr from s051", , , ,adCmdText 
do Until rs.EOF%>
<option value="<%=rs.fields(0)%>"><%=rs.fields(0)%>
</option>
<%rs.MoveNext
Loop
rs.close%>
</select>


Изменил <option value="<%=rs.fields(0)%>"> на <option value="<%= replace(rs.fields(0),"""","%22")%>"> , и все заработало как нужно.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Проблема с кавычками в vbs
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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