ASP / Javascript - 将ASP值发送到Javascript函数

时间:2011-09-20 23:52:17

标签: javascript asp-classic cross-language

是否可以使用ASP脚本中的值调用JS函数?

我认为这是可能的,所以我尝试了以下方法,但我似乎无法让它运行。如您所见,我在JS调用中有一个ASP变量“totalPages”。

Response.Write "<form name=""pageSkip"" onsubmit=""return validatePageSkip("&totalPages&")"">"

然后我有了JS函数,它是:

function validatePageSkip(totalPages)
{
     if (document.pageSkip.pn.value.length > totalPages)
     {
         alert("Please enter a page number within range!");
         document.pageSkip.pn.focus();
         return(false);
     }
     document.pageSkip.submit();
}
  1. 这可能吗?
  2. 如果是的话,我做错了什么?

  3. 更新

    当我使用空文本框提交时,它甚至不能正常使用:

    Response.Write "<form name=""pageSkip"" id=""pageSkip"" onsubmit=""return validatePageSkip()"" method=""post"" action=""?cpr="&pageRange&"#main"">"
    Response.Write "<input type=""text"" name=""cpn"" id=""cpn"" spellcheck=""false"" autocomplete=""off"" size=""3"" class=""pageSkipBox"" value="""&currentPage&""">"
    Response.Write "</form>"
    

    使用这个简单的JS函数:

    function validatePageSkip()
    {
    if (document.pageSkip.cpn.value.length < 1)
    {
    alert("Test!");
    document.pageSkip.cpn.focus();
    return(false);
    }
    document.pageSkip.submit();
    }
    

    我真的不知道出了什么问题。表单提交完美,但它不会调用该函数。

    你能发现什么吗?

1 个答案:

答案 0 :(得分:3)

是的,这是可能的。但你需要确保正确地逃避你的报价

Response.Write "<form name=""pageSkip"" onsubmit=""return validatePageSkip("&totalPages&")"">"

我个人更喜欢在头脑中做这样的事情

<head>
   <script type="text\javascript">
     var totalpages = <%=totalPages%>;
   </script>
</head>

然后

Response.Write "<form name=""pageSkip"" onsubmit=""return validatePageSkip(totalpages)"">"