Ошибка JavaScript ... Я думаю, - PullRequest
       14

Ошибка JavaScript ... Я думаю,

1 голос
/ 11 декабря 2008

Я пытался исправить это в течение двух часов подряд, и я не могу понять это.

onclick = "location='exceltest.asp?vanjaar=<%=vanjaar%>&vanmaand=<%=vanmaand%>&vandag=<%=vandag%>&totjaar=<%=totjaar%>&totmaand=<%=totmaand%>&totdag=<%=totdag%>'"

Эта строка кода находится в атрибуте . Кнопка ссылается на страницу, где должна быть запущена загрузка Excel. Значения в URL являются частями from и to-date. (год, месяц, день)

это:

onclick = "location='exceltest.asp?fromdate=<%=fromdate%>&todate=<%=todate%>'" /> 

не работает, потому что каким-то образом IE7 неправильно читает дату (например, 2008/1/1). Я думаю, что-то связано с косой чертой.

Но когда я пытаюсь нажать кнопку в IE и, таким образом, загрузить сгенерированный файл, Internet Explorer пытается загрузить файл

exceltest.asp? Vanjaar = 2008vanmaand = 1vandag = 1totjaar = 2008totmaand = 2totdag = 1

вместо файла Excel, который я хочу.
FF предлагает загрузить файл Excelfile, но дает (в этом файле Excel) обзор html-страницы с сообщением об ошибке, сообщающим, что мой запрос неверен (Элемент не может быть найден в коллекции, соответствующей запрошенному имени или порядковому номеру.) Но это НЕ МОЖЕТ быть, я использую тот же запрос в другом месте, используя то же (но перезапущенное) соединение.

Это фрагмент кода, который я использую для создания экземпляра загрузки файла:

Response.Buffer = TRUE  
Response.ContentType = "application/vnd.ms-excel"  
Response.AddHeader "content-disposition", "attachment; filename=overicht.xls"  

Возможно, что-то и происходит, но меня больше всего интересует, почему IE хочет загрузить страницу asp, а FF предлагает правильную загрузку.

Ответы [ 2 ]

4 голосов
/ 11 декабря 2008

& внутри onclick="" должно быть html-кодировано в &amp;

Если fromdate содержит косую черту, вам, вероятно, безопаснее всего также кодировать URL (хотя вы, кажется, противоречите этому с примером URL).

0 голосов
/ 11 декабря 2008

Что может помочь: Server.URLEncode

fromdate=<%=Server.URLEncode(fromdate)%>

Но ошибка в файле Excel - Невозможно найти элемент в коллекции, соответствующий запрошенному имени или порядковому номеру. - от Recordset.Fields(). Вы пытаетесь получить поле, которое недоступно - либо имя столбца, которого нет в вашем запросе, либо индекс, который превышает количество столбцов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...