HTML和ASP代码不起作用

时间:2013-06-12 04:59:37

标签: html asp-classic null

我有两个单独的文件,一个是HTML,另一个是ASP。我看了很多指南,我仍然无法解决它。当我保存这些文件并测试它们时,消息总是“空”。为什么这不起作用?

第一个文件,html:

    <!DOCTYPE html>
    <html>
    <body>
    <form name="formName" action="html_form_action.asp" method="get">
    <input type="text" id="name">
    <input type="submit" value="Enter">
    </form>
    </body>
    </html>

其次,asp文件:

    <!DOCTYPE html>
    <html>
    <body>
    <script>
    var x=document.getElementById("name");
    alert(x);
    </script>
    </body>
    </html>

4 个答案:

答案 0 :(得分:2)

假设第一页发布到第二页,document.getElementById("name");将无法工作,因为该页面上不存在输入 - 您正在尝试访问查询字符串值。

对相关问题的回答似乎是获取查询字符串参数的最可靠方法:https://stackoverflow.com/a/2880929/534109

使用该代码,您可以使用以下代码替换您在第二页上执行的操作:

alert(urlParams["name"]);

您当然必须首先包含引用的代码。

答案 1 :(得分:0)

要做到经典的ASP方式,首先给输入框命名:(可以与id相同)

<input type="text" id="name" name="name" />

现在,当您单击“提交”按钮时,将发送其值。

下一步是在 html_form_action.asp 中使用此类代码:

var x = '<%=Replace(Request("name"), "'", "\'")%>';
alert(x);

现在,无论您在上一页中输入什么内容,都会显示提醒。

答案 2 :(得分:0)

在html中使用表单时,应使用name="" ... 您的html文件的html代码应为:

<html>
<body>
<form name="formName" action="html_form_action.asp" method="get">
<input type="text" id="name" name="TheNameOfTheInput">
<input type="submit" value="Enter">
</form>
</body>
</html>

如果你有一个asp文件,你应该使用asp ...替换它:

<script>
var x=document.getElementById("name");
alert(x);
</script>

with(不包含<script></script>):

<%
response.write(request.querystring("TheNameOfTheInput"))
%>

此处的教程:http://www.w3schools.com/asp/asp_inputforms.asp:)

答案 3 :(得分:-1)

从未接触过asp,但根据你的代码,我认为有三个问题。

  • 表单的方法应该是POST。
  • 为输入另一个ID而不是'name'
  • 为输入提供“名称”属性,例如

    <input name="name" id="somethingElse">