如何在JavaScript中限制要添加到按钮上的文件数?

如何在JavaScript中限制要添加到按钮上的文件数?,javascript,php,forms,Javascript,Php,Forms,我有一个代码,其中有两个按钮,用于添加和删除表单字段。我想将添加选项的数量限制为5 代码如下: 函数addSite(){ var new_total_sites=parseInt($('total_sites').val())+1; var new_site_label=“额外研究参与:”; var new_site_input=“”; var new_slot_label=“研究机构”; var new_slot_input=“”; var new_research_label=“研究导师”

我有一个代码,其中有两个按钮,用于添加和删除表单字段。我想将添加选项的数量限制为5

代码如下:

函数addSite(){
var new_total_sites=parseInt($('total_sites').val())+1;
var new_site_label=“额外研究参与:”;
var new_site_input=“
”; var new_slot_label=“研究机构”; var new_slot_input=“
”; var new_research_label=“研究导师”; var new_research_input=“
”; var新表格组标签=“研究类型”; var new_basic_label=“basic
”; var new_clinical_label=“clinical
”; $('new#site')。追加(new#site_标签); $('new#site')。追加(new#site_输入); $(“#新建#站点”)。追加(新#插槽#标签) $('new#site')。追加(new#slot_输入); $('new#u site')。追加(new#u research_标签); $('new#u site')。追加(new#u research_input); $('new#site')。追加(new#form#group#label); $('new#u site')。追加(new#u basic_标签); $(“#新#站点”)。追加(新#临床#标签) $('total_sites').val(新的_total_sites) } 函数removeSite(){ var last_total_site=$(“#total_sites”).val(); 如果(上一次总站点>1){ $(“#新标签1”+最后一个总站点)。删除(“”); $('new#u site'+last_total_site)。删除(''; $(“#新标签2”+最后一个总站点)。删除(“”); $('new#u slot_uu'+last_total_site)。删除(''); $(“#新标签3”+最后一个总站点)。删除(“”); $('new#u research'+last_total_site)。删除(''); $(“#新标签4”+最后一个总站点)。删除(“”); $(“#基本”+最后一个网站总数)。删除(“”); $(“#临床”+最后一个总站点)。删除(“”); $(“#复选框1”+最后一个总站点)。删除(“”); $(“#复选框2”+最后一个总站点)。删除(“”); $('total_sites').val(最后一个_total_site-1); } }

添加导师
罢免导师



这里有一种方法。-我已将以下检查添加到您的代码中:

  if ($('#total_sites').val() >= 5) {
    $('button:contains("Add Mentor")').prop('disabled', true);
  }
它所做的是检查
#total_站点
div中元素的值。如果该值大于或等于5,它将禁用
添加导师按钮

我在本例中禁用了按钮,但您可以通过执行类似的检查来执行符合您偏好的操作

编辑:要回答评论中的问题,可以通过如下设置计数来添加编号标题:

  var count = $('#total_sites').val();
var count = '<h1> Mentor' + count + '</h1>'
然后将计数包含在新元素中,如下所示:

  var count = $('#total_sites').val();
var count = '<h1> Mentor' + count + '</h1>'
运行下面的代码段以查看其实际操作

函数addSite(){
var new_total_sites=parseInt($('total_sites').val())+1;
var计数=新站点总数
变量计数='Mentor'+计数+'
如果($('#总站点数').val()>=5){
$('button:contains(“Add Mentor”)).prop('disabled',true);
}
var new_site_label=“额外研究参与:”;
var new_site_input=“
”; var new_slot_label=“研究机构”; var new_slot_input=“
”; var new_research_label=“研究导师”; var new_research_input=“
”; var新表格组标签=“研究类型”; var new_basic_label=“basic
”; var new_clinical_label=“clinical
”; $('new#u site')。追加(计数); $('new#site')。追加(new#site_标签); $('new#site')。追加(new#site_输入); $(“#新建#站点”)。追加(新#插槽#标签) $('new#site')。追加(new#slot_输入); $('new#u site')。追加(new#u research_标签); $('new#u site')。追加(new#u research_input); $('new#site')。追加(new#form#group#label); $('new#u site')。追加(new#u basic_标签); $(“#新#站点”)。追加(新#临床#标签) $('total_sites').val(新的_total_sites) } 函数removeSite(){ var last_total_site=$(“#total_sites”).val(); 如果(上一次总站点>1){ $(“#新标签1”+最后一个总站点)。删除(“”); $('new#u site'+last_total_site)。删除(''; $(“#新标签2”+最后一个总站点)。删除(“”); $('new#u slot_uu'+last_total_site)。删除(''); $(“#新标签3”+最后一个总站点)。删除(“”); $('new#u research'+last_total_site)。删除(''); $(“#新标签4”+最后一个总站点)。删除(“”); $(“#基本”+最后一个网站总数)。删除(“”); $(“#临床”+最后一个总站点)。删除(“”); $(“#复选框1”+最后一个总站点)。删除(“”); $(“#复选框2”+最后一个总站点)。删除(“”); $('total_sites').val(最后一个_total_site-1); } }

添加导师
罢免导师



每次添加一个元素时,您只需检查添加了多少个元素,如果超过一个设定值,则不要再添加一个元素。用户应该只能添加5次。嘿,您知道每次添加一个新的mentor(如mentor 1、mentor 2)时如何添加标题吗,mentor 3等?请参阅更新的答案。好的,这是可行的,但如何从mentor 2开始?我的代码中已经有1,所以我希望它从2开始?请参阅更新的代码。我所做的只是将计数更改为这个
var count=new\u total\u sites
。好的,非常感谢。对于后端,我是否应该为每个导师制作5个不同的专栏?