【问题标题】:Auto submitting to cfm自动提交到cfm
【发布时间】:2010-05-13 21:11:45
【问题描述】:

我创建了一个发布到 cfm 文件的表单。当运行填充表单值并尝试提交的 onLoad 脚本时...该站点将我带回登录屏幕。

<script>
function f()
{
document.getElementById("email").value = "asdf@asdf.com";
document.getElementById("password").value = "asdf";
document.getElementById("form1").submit();
}
</script>

请帮忙!


更新:

这里是代码....当手动填写电子邮件和密码的值并按下回车按钮时,它将引导我进入主页。但是,在编写提交表单 onload 的脚本时,它会将我重定向到登录页面。

<form action="https://www.asdf.com/dev/mem/login/login.cfm" method="post" id="caring" name="login" style="margin: 0px; padding: 0px;"> 
<input name="page" type="hidden" id="page" value="https://www.asdf.com/dev/mem/home/home.cfm"> 

    <table> 
    <tr> 

    <td rowspan="2" class="title"></td> 
    <td class="label"><label for="email"></label></td> 
    <td class="element"><input  name="email" id="email" value ="asdf@asdf.com"  /></td> 
    <script> 
    //<td rowspan="2" class="action"><input type="submit" name="login" value="submit" alt="go" title="go" /></td> 
    </script> 
    </tr> 

    <tr> 
    <td class="label"><label for="username"></label></td> 
    <td class="element"><input name="password" value = "asdf" id="password" /></td> 
    </tr> 
<td rowspan="2" class="action"><input type="submit" name="login" value="enter" alt="go" title="go" /></td> 
    <tr> 
    <td></td> 
    <td colspan="2">&nbsp;</td> 
    <td>&nbsp;</td> 
    </tr> 
    </table> 

</form> 

【问题讨论】:

  • user337786,我已编辑问题以添加您作为答案添加的信息 - 请使用问题编辑链接添加任何未来更新。

标签: html forms post coldfusion


【解决方案1】:

如果没有表单本身的 HTML,很难判断,但我猜你的表单的 action="" 属性是空白的。如果该属性为空,浏览器会将表单发送回同一页面。

由于您使用的是coldfusion,请检查是否有代码生成您的action="" 值,如果有,请查找其中的错误。查看页面呈现的 HTML 源代码可能会有所帮助。

【讨论】:

    【解决方案2】:

    确保您没有在目标 cfm 页面上使用 &lt;cflocation&gt;(或其他重定向),这可能会将用户重定向回表单页面。

    (如果您发布完整代码会有所帮助)

    【讨论】:

      【解决方案3】:

      确保设置动作。代码如下:

      <script type="text/javascript">
        function f() {
          document.getElementById("email").value="asdf@asdf.com";
          document.getElementById("password").value="asdf";
          document.getElementById('caring').action=document.getElementById("page").value;
          document.getElementById('caring').submit();
        }
      </script>
      

      当然还要在你的 body 标签中添加 onload 属性:

      <body onload="f();">
      

      您的代码中还有一些其他问题需要修复。使用Total Validator 进行检查。这是一个很棒的工具,可以让你成为更好的程序员。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-04
        • 1970-01-01
        • 2022-01-04
        • 2016-01-10
        • 1970-01-01
        • 1970-01-01
        • 2010-11-29
        • 2017-07-22
        相关资源
        最近更新 更多