【问题标题】:HTML Form not submitting data?HTML表单不提交数据?
【发布时间】:2013-01-05 20:02:05
【问题描述】:

我正在尝试为我的网站创建一个 Splash 页面,由 Boonex dolphin 提供支持,但似乎无法登录。 (它只是要求用户再次登录)。

这里是代码。

<form id="login_box_form" action="member.php" method="post" onsubmit="validateLoginForm(this); return false;"
      class="form_advanced">
    <input class="form_input_hidden bx-def-font" type="hidden" name="csrf_token" value="cV4xs5rYHF2=caQ68kyq"/>
    <input type="text" name="ID" value="Username" maxlength="20" class="default login" onclick="clearval('Username);"
           style="margin-right: 5px;"/>
    <input type="password" name="Password" value="Password" class="default login" onclick="clearval('Password');"/>
</form>
<a href="member.php" id="loginButton" class="sidebarButton floatLeft" onclick="document.login_box_form.submit();"><span>login</span></a>

有什么想法吗?

(现场演示http://cometogethersupport.pro/splash.php

【问题讨论】:

  • 仅供参考,用 Firebug 控制台查看您的演示,其中有一些错误。您应该先考虑修复它们,看看它是否可以解决您无法登录的问题。
  • validateLoginForm() 是做什么的?
  • onsubmit="validateLoginForm(this); return false;" 中删除return false 并告诉我们它是否有效。

标签: php html forms form-submit splash-screen


【解决方案1】:
document.login_box_form.submit()

应该是

document.getElementById('login_box_form').submit()

Chrome Developer Tools 控制台,当我尝试这两种方法时,我看到了以下内容:

> document.login_box_form
  undefined
> document.getElementById('login_box_form');
  <form id=​"login_box_form" action=​"http:​/​/​cometogethersupport.pro/​member.php" method=​"post" onsubmit=​"validateLoginForm(this)​;​ return false;​" class=​"form_advanced">​…​</form>​

【讨论】:

    【解决方案2】:

    您正在使用表单 ID 获取要提交的表单()。或者像这样向表单添加一个属性:

    <form name="login_box_form"></form>
    

    或将您的函数调用更改为:

    onclick="document.getElementById('login_box_form').submit()"
    

    【讨论】:

      【解决方案3】:

      不禁注意到这一点:

      clearval('Username);
      

      我忍不住要你改变它! (对不起!)

      clearval('Username');
      

      另外,为什么不试试这个,假设这是您将数据提交到的地方:

      <form  id="login_box_form" action="http://cometogethersupport.pro/member.php" method="post" onsubmit="validateLoginForm(this); return false;" class="form_advanced">
      

      附注:

      (2) Uncaught SyntaxError: Unexpected token ILLEGAL Line 99
      

      更新 JQuery?

      【讨论】:

      • 好的,这可能是由于 /inc/login.js 没有正确链接,但我仍然有问题。 :(
      • @MichaelHoward name="csrf_token" value="cV4xs5rYHF2=caQ68kyq" 呢?这是预先设置的,还是意味着根据会话进行更改?
      【解决方案4】:

      好的,我设法用标签中的以下代码解决了这个问题:

          <script type="text/javascript">
      function frmSubmit() {
      document.login_box_form.submit();
      }
      </script>
      

      然后将超链接设置为

      javascript:frmSubmit();
      

      希望这可以帮助其他人解决这个问题

      【讨论】:

        【解决方案5】:

        您是否尝试从&lt;form 标记的onSubmit 属性中删除return false

        【讨论】:

          猜你喜欢
          • 2014-05-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-11-27
          • 2021-03-31
          • 1970-01-01
          • 2017-03-20
          相关资源
          最近更新 更多