为什么不't当我尝试在不使用提交按钮的情况下提交时,我的表单提交

Why doesn't my form Submit when I try to submit without using submit button

本文关键字:提交 按钮 情况下 表单提交 我的 为什么不      更新时间:2023-09-26

下面是我要验证的代码:

$(function () {
    function validateform() {
        // Code
    }
    $('#myform').submit(validateform);
});

在这篇文章的行动中,我想提交这个

<form id="myform" name="form"  action="http://www.google.com">
   // Form elements inputs, textarea 
   <div class="line"><span class="miss">Send Your Message</span>
</form>

点击发送您的消息后,应提交表格。

您没有启动submit方法。要激发该方法,只需要在不带参数的情况下调用它:$('#myform').submit()。如果您使用带参数的submit方法,那么您只是在注册一个事件处理程序。

所以你需要用这个修改你的代码:

$(function () {
  function validateform() {
      // Code
  }
  $('#myform').submit(validateform); // This will register an event handler.
  $('#myform').submit();             // This will trigger the submit event.
});

请参阅jQuery提交方法的文档。


编辑

Mike,如果你只想通过<span />提交你的<form />,你可以写下面的代码:

$(function () {
  function validateform() {
      // Code
  }
  $('#myform').submit(validateform);
  $('span.miss').click(function() {
    $('#myform').submit();
  });
});
  function validateForm() {
      if (validation code) {
          $('form#myform').submit();
      } else {
          //display validation errors
          return false;
      }
  }
  $(function () {
      $('form#myform .miss').click(validateForm);
  });

此代码基本上可以工作,并检查空间验证以及

$(function() {
            function validate() {
                var valid = true;
                $(".error").remove();
                $(".req").each(function() {
                    if($(this).val() == "" ||  $(this).val().replace(/'s/g, '').length == 0) {
                        $(this).after("<span class='error'>You should fill this field</span>");
                        valid = false;
                    }
                });
                return valid;
            }
                $('span.classofspantag').click(function() {
                $('#myform').submit(validate);
                    $('#myform').submit();
                });
        });