设置输入字段创建的限制?

时间:2014-07-05 08:18:48

标签: javascript jquery html input field

我没有在这个主题上找到任何内容,所以我很快就在这里问。

无论如何,我正在创建一个功能,允许用户向其中添加新的管理员,并使用户可以更轻松地添加一个工作正常的新输入字段;)

但我想要的是只允许用户一次添加5个管理员的格言来节省服务器资源,因为他们可以拥有任意数量的服务器资源。

我如何存档?

(代码如下)

<form>
    <input type="text" />
</form>
<button id="addFields">Add another field
    </button>

   //JQUERY SIDE BELOW

$(function ($) {

    $('body').on("click", '#addFields', function () {
        $('form').append('<input type="text" />')
    })

})(jQuery)

3 个答案:

答案 0 :(得分:2)

你可以用这种方式做客户端

$(function ($) {
       $('body').on("click", '#addFields', function () {
        if ($("form > input:text").length < 5) {
            $('form').append('<input type="text" />');
        }
        else{
         alert('can't add more admins');
        }
    });

})(jQuery);

但是通过这种方式,您只能阻止同时添加最多5个管理员。

在你的服务器端你应该做这样的事情(更强大的解决方案)(SQL)

    SET @admins= (SELECT COUNT(IdUSerAdmin) FROM Users where IdAdmin= @YouAdminUser)

    IF(@admins < 5)
    BEGIN
       INSERT INTO USERS ....
    END

答案 1 :(得分:1)

@Vote to Close说的是对的,你需要在服务器和客户端都停止这一点。在客户端,您可以这样做:

$(function ($) {
    var MAX_LIMIT = 5;
    $('body').on("click", '#addFields', function () {
        if ($("form > input[type='text']").length < MAX_LIMIT) {
            $('form').append('<input type="text" />');
        }
    });

})(jQuery);

答案 2 :(得分:1)

$(function ($) {
    var totalFieldsAdded = 0;
    var totalFieldsAllowed = 5;
    $('body').on("click", '#addFields', function () {
        if(totalFieldsAdded < totalFieldsAllowed){
            $('form').append('<input type="text" />');
            totalFieldsAdded++;
        }
    })

})(jQuery)