使用JS提交表单不执行基本验证

时间:2014-05-02 19:16:03

标签: javascript jquery html

为什么当我使用javascript时,基本的HTML输入验证没有执行? 说最小最大属性。

这里是HTML:

<form action="#" method="get">Quantity (between 1 and 5):
    <input type="number" name="quantity" min="1" max="5">
    <br />
    <input type="submit" value="with HTML">
</form>
<button id="sender">with JS</button>

JS:

$("#sender").click(function (event) {
    $("form").submit();
});

直播示例:http://jsfiddle.net/txP4R/2/

2 个答案:

答案 0 :(得分:1)

您必须触发正常的提交按钮:

$("#sender").click(function (event) {
    $('input[type="submit"]').trigger('click');
    event.preventDefault();
});

看到这个小提琴:http://jsfiddle.net/gopeter/txP4R/3/

答案 1 :(得分:1)

您需要将该按钮与表单相关联,并检查表单是否有效。看到这个 jfiddle:

http://jsfiddle.net/txP4R/5/

HTML:

<form action="#" method="get" id="form">Quantity (between 1 and 5):
    <input type="number" name="quantity" min="1" max="5">
    <br />
    <input type="submit" value="with HTML">
</form>
<button id="sender" form="form">with JS</button>

和jQuery:

$("#sender").click(function (event) {
    if (("#form")[0].checkValidity()) {
        $("#form").submit();
    }
});

编辑:好抓A.沃尔夫