我想制作一个登录表单,它应该提供两种提交方式,一种是通过登录按钮,它应该将信息提交到login.php中,另一种是使用href(忘记密码),它应该重定向用户并将信息提交给forgetpassword.php文件。到目前为止,我已经尝试过这个代码,但它不起作用:
<script type="text/javascript">
function forgotpassword()
{
document.getElementById("ee").action="project_forgotpassword.php";
document.getElementById("ee").submit();
}
</script>
<form id="ee" method="POST" action="login.php">
<table>
<tr>
<th>Username</th>
<td><input type="text" name="username"></td>
</tr>
<tr>
<th>Password</th>
<td><input type="password" name="password"></td>
</tr>
<tr>
<th><a href="project_forgotpassword.php" onClick="javascript: forgotpassword();">Forgot Password</a></th>
</tr>
<tr>
<td></td>
<td>
<input type="submit" name="submit" value="Submit">
</td>
</tr>
</table>
</form>
- 我评论的第一个问题是打字错误
- 第二个问题是提交按钮名称。请参阅以下帖子
JSFiddle
代码
function forgotpassword() {
var form = document.getElementById("ee");
form.action = "project_forgotpassword.php";
console.log(form)
form.submit();
}
<form id="ee" method="POST" action="login.php">
<table>
<tr>
<th>Username</th>
<td>
<input type="text" name="username">
</td>
</tr>
<tr>
<th>Password</th>
<td>
<input type="password" name="password">
</td>
</tr>
<tr>
<th><a href="project_forgotpassword.php" onClick="javascript: forgotpassword();">Forgot Password</a>
</th>
</tr>
<tr>
<td></td>
<td>
<input type="submit" name="btnSubmit" value="Submit">
</td>
</tr>
</table>
</form>
更改
<input type="submit" name="btnSubmit" value="Submit">
调用javascript函数时,可以从onclick
处理程序中省略javascript:
。当从标准超链接(如<a href='javascript:func()'>link</a>
)调用函数时,您可能希望使用该语法,但这并不常见。
在修改后的forgotpassword
函数中,我使用setAttribute
,而不是尝试直接调用属性——我认为这样更可靠。此外,除非在js函数中阻止超链接的默认操作,否则它只会尝试转到href属性中的值。
<script type="text/javascript">
/*
function forgotpassword(){
document.getElementById("ee").action="project_forgotpassword.php";
document.getElementById("ee").submit();
}
*/
/* I would tend to use this approach to setting an attribute */
function forgotpassword(){
var form=document.getElementById("ee");
form.setAttribute('action','project_forgotpassword.php');
form.submit();
}
</script>
<form id="ee" method="POST" action="login.php">
<table>
<tr>
<th>Username</th>
<td><input type="text" name="username"></td>
</tr>
<tr>
<th>Password</th>
<td><input type="password" name="password"></td>
</tr>
<tr>
<th><a href="#" onclick="forgotpassword()">Forgot Password</a></th>
</tr>
<tr>
<td></td>
<td>
<input type="submit" name="subform" value="Submit">
</td>
</tr>
</table>
</form>
最后一件事——更改提交按钮的名称——它不应该被称为submit
——尤其是在尝试使用javascript调用表单提交时。
试试这个,
$('#forgetpassword').click(function(){
$("form[name='form_name']").attr("action", "project_forgotpassword.php");
$("form[name='form_name']").submit();
});
更改忘记密码链接如下,
<a id="forgetpassword">Forgot Password</a>