使用href提交到php文件中


Use href to submit into a php file

我想制作一个登录表单,它应该提供两种提交方式,一种是通过登录按钮,它应该将信息提交到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>