哪个是禁用按钮的安全方法?

时间:2017-10-28 11:44:34

标签: javascript jquery html forms

我有一个表单并在填写表单中的所有字段后启用提交按钮。我使用jquery来禁用按钮也使用提交按钮中的disabled="disabled"。现在我在浏览器上,按钮显示已禁用。

现在我做了什么,右键单击并检查元素并转到我的注册按钮,然后从HTML中删除disabled=" disabled",我的按钮启用而没有填写详细信息,我点击了没有提交的按钮表单。

我只是想知道有没有其他解决方案来处理这个问题?因为任何人都可以启用此功能并在不填写表单的情况下访问它。

你能帮助我吗?

enter image description here



(function() {
    $('form > input').keyup(function() {
        var empty = false;
        $('form > input').each(function() {
            if ($(this).val() == '') {
                empty = true;
            }
        });
        if (empty) {
            $('#register').attr('disabled', 'disabled');
        } else {
            $('#register').removeAttr('disabled');
        }
    });
})()

<form>
    Username<br />
    <input type="text" id="user_input" name="username" /><br />
    Password<br />
    <input type="password" id="pass_input" name="password" /><br />
    Email<br />
    <input type="text" id="email" name="email" /><br />     
    <input type="submit" id="register" value="Register" disabled="disabled" />
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:2)

残疾人的财产很好,但其化妆品或多或少。

有一种简单的方法可以阻止使用JavaScript提交表单提交事件处理程序。您检查是否符合条件 - 否则您取消提交。

答案 1 :(得分:0)

您可以通过简单地修改您的功能来阻止表单提交:

(function() {
$('form > input').keyup(function(e) {
    e.preventDefault();
    var empty = false;
    $('form > input').each(function() {
        if ($(this).val() == '') {
            empty = true;
        }
    });
    if (empty) {
        $('#register').attr('disabled', 'disabled');
    } else {
        $('#register').removeAttr('disabled');
    }
});

})()