我没有在这个主题上找到任何内容,所以我很快就在这里问。
无论如何,我正在创建一个功能,允许用户向其中添加新的管理员,并使用户可以更轻松地添加一个工作正常的新输入字段;)
但我想要的是只允许用户一次添加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)
答案 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)