Вызов функции JS в VBScript - PullRequest
       10

Вызов функции JS в VBScript

0 голосов
/ 20 января 2012

Привет, я пытаюсь получить значение текстового поля одной страницы asp к другой странице asp и установить значение вот VBScript, который он делает

If(disableListHeaderPR()) Then
    bEnablePRField = false
Else
    bEnablePRField = true
End If 

Здесь disableListHeaderPR() - функция JS. Я получаю сообщение об ошибке: переменная не определена: 'disableListHeaderPR' Вот код функции JS

function disableListHeaderPR()
{
    if(dateDifference(document.getElementById("txtCommDte").value, "05/04/2012") < 0 ) 
    {
        return false;
    }
    else
    {
        return true;
    } 
}

Ответы [ 2 ]

2 голосов
/ 20 января 2012

На этой странице есть информация о звонках на vbs с js и наоборот.

http://www.webdeveloper.com/forum/archive/index.php/t-49920.html

Но имейте в виду, что пока вы используете VBScript, ваше приложение не будет работать должным образом ни в одном браузере, кроме IE.

0 голосов
/ 20 января 2012

Мое решение было бы установить вашу переменную на стороне сервера 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>

Что-то очень похожее на это должно работать для вас.

Мне кажется, я должен указать, что для Classic 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.

Надеюсь, это поможет,

Пит

...