Моим решением было бы установить вашу переменную на серверной стороне VBScript, а затем вывести результат на страницу с помощью другой функции JavaScript, которая вызывает вашу другую функцию JavaScript. Образец (непроверенный) следующим образом:
<%
Dim bEnablePRField
bEnablePRField = Request.Form("checkboxEnablePRField") <> ""
%>
<script type="text/javascript">
function EnablePRField() {
if (<%=bEnablePRField%> === 'False') {
disableListHeaderPR();
}
}
function disableListHeaderPR() {
if (dateDifference(document.getElementById("txtCommDte").value, "05/04/2012") < 0) {
return false;
} else {
return true;
}
}
</script>
Что-то очень похожее на то, что должно работать на вас.
Я считаю, что для классического ASP VBScript обрабатывается только на стороне сервера, поэтому он должен работать в любом браузере, поддерживающем JavaScript. Прежде чем я переключился на .Net, я часто использовал этот трюк, и он отлично работал в Firefox, а также в IE.
Если вы хотите использовать результаты своей функции JavaScript в своей функции VBScript, просто сохраните результаты функции JavaScript в скрытом поле (например, <input id="myResults" name="myResults" type="hidden" />
), а затем получите доступ к значению в VBScript (например, Request.Form("myResults"
) ,
Вы также можете использовать скрытое поле, если вы смешиваете VBScript и JavaScript на стороне клиента. Просто измените способ доступа к скрытому полю в VBScript (например, document.form("myForm").myResults.value
).
И, наконец, я не могу больше согласиться с techfoobar. Если вы смешиваете VBScript и JavaScript на стороне клиента, то единственным браузером, в котором он будет работать, является IE, и я также настоятельно рекомендую полностью переключиться на JavaScript.
Надеется, что это помогает,
Пит
Я полагаю, вы знаете, что VBScript является только IE технологией. Если вы можете переместить весь свой код в JS, это будет лучше всего. – techfoobar