表单提交按钮不起作用

Dra*_*eb 1 html javascript php forms

我可以看到我的代码没有问题,但每当我按下submit按钮时,没有任何反应:

<form id = "form_signin_containers" action = "" method = "post">
    <input type = "text" name = "si_idnumber" placeholder = "ID Number" required/>
    <input type = "password" name = "si_password" placeholder = "Password" required/>
    <input type = "submit" name = "si_submit" value = "    sign in    ">
</form>
Run Code Online (Sandbox Code Playgroud)

我尝试在我的html代码上面的php代码中添加一个isset按钮来测试它:

if(isset($_POST['si_submit'])) {
  header("Location:home.php");
}
Run Code Online (Sandbox Code Playgroud)

当我按下提交按钮时,它仍然无法正常工作.我也注意到,因为我<...required/>在所有文本框上放了一个,如果我应该单击提交按钮,它会通知我文本框是否为空?但是当我将文本框留空并按下提交按钮时,它仍然无法执行任何操作,它甚至不会告诉我文本框是空的.好像按钮已经死了.

更新
我有这个javascript,我放在右边,</body>这将使页面平滑滚动每当我点击一个锚点按钮.
我的锚点按钮示例:

<form id = "form_createaccount_button" action="#createchooserblink">
    <input type="submit" value="  create account  " />
</form> 
Run Code Online (Sandbox Code Playgroud)

JS:

<script>
  $(function() {
     $('input').click(function(e) {
     e.preventDefault();
     var hash = $(this).parent('form').attr('action');
     var target = $(hash);
     target = target.length ? target : $('[name=' + hash.slice(1) +']');
     if (target.length) {
       $('html, body').animate({
         scrollTop: target.offset().top
       }, 1000);
     }

 });
 });
</script>
Run Code Online (Sandbox Code Playgroud)

这会影响登录表单吗?

T.J*_*der 5

是的,您的JavaScript阻止了表单提交:

$('input').click(function(e) {
     e.preventDefault();
     // ...
Run Code Online (Sandbox Code Playgroud)

单击提交按钮会触发该单击处理程序,并阻止默认操作阻止表单提交.

您可以name="si_submit"通过添加:not([name=si_submit])以下内容来专门保留按钮:

$('input:not([name=si_submit])').click(function(e) {
     e.preventDefault();
     // ...
Run Code Online (Sandbox Code Playgroud)

...但我认为不是这样做,我可能会在"锚点按钮"上使用类或其他东西(或根本不使用"锚点按钮"),而是添加该类.例如:

<form id = "form_createaccount_button" action="#createchooserblink">
    <input type="submit" class="anchor-button" value="  create account  " />
</form>
Run Code Online (Sandbox Code Playgroud)

和:

$('input.anchor-button').click(function(e) {
     e.preventDefault();
     // ...
Run Code Online (Sandbox Code Playgroud)