当我尝试不使用提交按钮提交时,为什么我的表单没有提交

时间:2012-01-22 18:06:25

标签: javascript jquery html forms

以下是我要验证的代码:

$(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>

点击发送你的消息,表格应该提交。

3 个答案:

答案 0 :(得分:1)

您没有触发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.
});

see the docs for jQuery submit method


<强>编辑

迈克,如果你想通过<form />提交<span />,你可以写下这段代码:

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

  $('span.miss').click(function() {
    $('#myform').submit();
  });
});

答案 1 :(得分:0)

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

  $(function () {
      $('form#myform .miss').click(validateForm);
  });

答案 2 :(得分:0)

此代码基本上可用,并检查空间验证

$(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();
                });

        });