javascript - 表单提交按钮不起作用

标签 javascript php html 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>

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

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

当我按下提交按钮时,它仍然不起作用。我也注意到了,因为我放了一个 <...required/>在所有文本框上,如果我应该单击提交按钮,如果文本框为空,它会通知我吗?但是当我将文本框留空并按下提交按钮时,它什么也不会做,它甚至不会告诉我文本框是空的。好像按钮已经死了。

更新
我有这个 javascript我放在 </body> 之前每当我单击 anchor 按钮时,这将使页面平滑滚动。
我的 anchor 按钮示例:

<form id = "form_createaccount_button" action="#createchooserblink">
    <input type="submit" value="  create account  " />
</form> 

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>

这会影响登录表单吗?

最佳答案

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

$('input').click(function(e) {
     e.preventDefault();
     // ...

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

您可以通过添加 :not([name=si_submit]) 来明确地将 name="si_submit" 按钮排除在外:

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

...但我认为与其这样做,我可能会在“ anchor 按钮”上使用类或其他东西(或者根本不使用“ anchor 按钮”),然后添加该类。例如:

<form id = "form_createaccount_button" action="#createchooserblink">
    <input type="submit" class="anchor-button" value="  create account  " />
</form>

和:

$('input.anchor-button').click(function(e) {
     e.preventDefault();
     // ...

关于javascript - 表单提交按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43061106/

相关文章:

javascript - 将 JSON 对象数组转换为 HighCharts/GoogleCharts 的数组

php取消链接。不返回任何错误消息并且不删除我的文件

php - HTML5 和 getUserMedia - 在特定时间后录制音频并保存到 Web 服务器

javascript - 在 JavaScript 中调用另一个函数内部的函数

javascript - 如何使用正则表达式达到这个结果?

PHP从数据库读取数据的问题

php - 将当年每个月的表中的数字相加

python - 在 HTML 中运行 Python 脚本

html - 使用 HTML5 CSS3 强制 iframe YouTube 视频居中并在后台完全覆盖屏幕

javascript - Angular Js ng-controller 未填充该值