将表单的“action”属性的值设置为索引页面

时间:2013-03-18 12:02:11

标签: html forms coldfusion

在我创建的登录表单上工作时我注意到了一些事情,并且想知道是否有其他人之前发现过这个问题/问题。创建表单并输入action属性的值时,除index.cfm页面外,它对每个页面都可以正常工作。下面是一些示例代码,可以帮助您了解我的问题。

<form action="index.cfm" method="post">
    <input type="text" name="username"></input>
    <input type="password" name="password"></input>
    <input type="submit" value="Login"></input>
</form>

<cfif IsDefined("form.username")>
    <p>Welcome!</p>
<cfelse>
    <p>You have not been logged in.</p>
</cfif>

上面的例子不起作用,但是,下面的例子确实如此;

<form method="post">
    <input type="text" name="username"></input>
    <input type="password" name="password"></input>
    <input type="submit" value="Login"></input>
</form>

<cfif IsDefined("form.username")>
    <p>Welcome!</p>
<cfelse>
    <p>You have not been logged in.</p>
</cfif>

此问题仅在索引页面上。在所有其他页面上,输入文件名和所需的任何URL变量都可以完全没有问题。任何人都可以提供一个暗示或理由说明为什么会发生这种情况或我可能出错的地方?

编辑: 我已经包含了代码,以便更清楚地了解我的情况。在第一个示例中,当我在用户名字段中输入任何给定文本并提交表单时,输出将为“您尚未登录”。然而,第二个例子,我收到了“欢迎!”的替代价值。提交表格后。希望这能解决我的问题。

2 个答案:

答案 0 :(得分:2)

当我使用下面的URL时(因为它是默认文档),结果显示网址重写正在删除index.cfm

  • <form action="/index.cfm" method="post">
  • <form action="index.cfm" method="post">

因此,我需要使用目录名作为操作。就我而言,这段代码解决了我的问题:

    <form action="/community/" method="post"> 

答案 1 :(得分:1)

一个明显的问题是你没有给你的输入命名。没有名称就没有提交任何内容,但表单确实提交,它只是不包含任何数据。

<form action="index.cfm" method="post">
    <input type="text" name="afield"></input>
    <input type="submit"></input>
</form>