2013-06-12 42 views
1

我有两个单独的文件,一个HTML,另一个ASP。我看了很多指南,但我仍然无法修复它。当我保存这些文件并对它们进行测试时,该消息总是“空”。为什么这不起作用?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> 

回答

2

假设第一页的帖子到第二,document.getElementById("name");行不通,因为输入上不存在该页面 - 您正试图访问某个查询字符串值。

这回答一个相关的问题似乎得到查询字符串参数的最坚实的方法:https://stackoverflow.com/a/2880929/534109

使用的代码,你更换你正在做的第二页上有什么:

alert(urlParams["name"]); 

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

+0

谢谢。我会尝试一下 – user2464227

-1

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

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

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

0

要做到这一点经典的ASP的方式,先给输入框中输入一个名称(可以是相同ID)

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

现在,它的价值将被发送,当你点击提交按钮。

下一个步骤是有这样的代码 html_form_action.asp

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

现在,这将显示出,不管你在前面的页面类型的警报。

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> 

有(无<script></script>):

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

教程在这里:http://www.w3schools.com/asp/asp_inputforms.asp :)