【问题标题】:input type=button not validating输入类型=按钮无效
【发布时间】:2015-06-20 07:01:57
【问题描述】:

HTML5 和 jQuery 与 jQuery Mobile。 我想使用一个按钮来提交一个表单,以便可以在其中包含一个图像。

表单也需要验证。

使用以下内容,表单提交但未验证。也就是说,如果我将所需的表单元素留空,则表单将提交(出现警告框)。

HTML

<form id="myform" name="myform">

    [required elements here to validate]

    <button type="button" name="submit1" id="submit1"><img src="myimg" />Submit</button>
</form>

Javascript

jQ('#submit1').click(function(event){
    jQ('#myform').submit(event);
    event.preventDefault();

    [more code here to run]

    alert('submitted');
}); 

【问题讨论】:

  • 抱歉 - 标题应该是“type=button”。
  • 您有验证表单的方法吗?通常,在表单上调用submit() 之前会调用某种验证方法。

标签: jquery forms validation button submission


【解决方案1】:

问题是您在调用event.preventDefault() 之前使用.submit() 触发了表单提交。此外,您应该仅在所有验证成功后有条件地调用.submit()。未能以成功验证为条件提交表单将导致浏览器离开页面而不会看到任何验证错误。

【讨论】:

    【解决方案2】:

    你可以这样做

    <script>
    function submission() {
    some code
    return true;
    }
    </script>
    <form id="myform" name="myform" onsubmit="return submission();">
    
    [required elements here to validate]
    
    <button type="button" name="submit1" id="submit1"><img src="myimg" />Submit</button>
    </form>
    jQ('#submit1').click(function(event){
    jQ('#myform').submit(event);
    }); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-07
      • 2019-03-17
      相关资源
      最近更新 更多