我创建了一个发布到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"> </td>
<td> </td>
</tr>
</table>
</form>
答案 0 :(得分:4)
如果没有表单的HTML,很难说,但我的猜测是表单的action=""
属性为空。如果该属性为空,则浏览器会将表单发布回同一页面。
由于您正在使用coldfusion,请检查是否存在生成action=""
值的代码,如果有,请查找其中的错误。查看页面的呈现HTML源代码可能会有所帮助。
答案 1 :(得分:0)
确保您没有在目标cfm页面上使用<cflocation>
(或其他一些重定向),这可能会将用户重定向回表单页面。
(如果您要发布完整代码会有所帮助)
答案 2 :(得分:0)
确保设置操作。这是代码:
<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>
当然,将onload属性添加到您的body标签:
<body onload="f();">
您的代码中还有其他一些问题需要解决。请使用Total Validator进行检查。这是一个很好的工具,可以让你成为一个更好的编码器。