Javascript jQuery表单检查-根据选择菜单值添加新关键字
我有一个简单的表单,几乎没有选择和输入字段。我只想对表单中的这三个字段执行jQuery检查:Javascript jQuery表单检查-根据选择菜单值添加新关键字,javascript,jquery,forms,Javascript,Jquery,Forms,我有一个简单的表单,几乎没有选择和输入字段。我只想对表单中的这三个字段执行jQuery检查: <form action="action/buy.php" method="post" class="form-horizontal" id="boosterForm"> <select name="Quantity" id="selectQuantity" tabindex="1" class="span2"> <option value="3">3
<form action="action/buy.php" method="post" class="form-horizontal" id="boosterForm">
<select name="Quantity" id="selectQuantity" tabindex="1" class="span2">
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
..................
<option value="99">99</option>
</select>
<input class="span11" id="wizard_url" type="text" name="Website" placeholder="http://www.example.com">
<input class="span11" type="text" name="Keywords">
<button class="btn btn-large btn-warning" type="submit" name="campaignSubmit" value="Buy Now" >Buy Now</button>
</form>
我想做的是,当用户从选择菜单中选择以下值3、6、9、12、15、18、21、24、27、30、33、36、39、42、45…99时,允许/阻止用户为每三个数量输入一个由coma分隔的新关键字
例如,如果他从数量下拉菜单中选择3,他不允许在关键字字段中添加任何逗号,如果他在4-6之间选择,他只允许输入一个逗号,如果他选择7-9,他只允许输入两个逗号,当他允许输入32个逗号时,一直到99
如果他们输入了更多的逗号,那么我想在字段下方显示一个简单的警告,让他们知道他们不能添加更多的关键字,例如,添加的关键字的最大数量。此外,我不想让他们提交表格,直到他们完成这一点
最后,如果现场网站是空的,他们也不能提交表格
我尝试了一些预先制作的jQuery表单检查脚本,但没有一个提供我上面所需要的,而且我自己也不是jQuery方面的专家
非常感谢您的帮助。非常感谢。您可以试试这个,它的工作原理是允许使用4-6=1个逗号,允许使用7-9=2个逗号,允许使用10-12=3个逗号等等,并且网站不能为空
$(function(){
$('#selectQuantity').on('change', function(){
var val = $(this).val();
if(val > 3) {
var div = val / 3, mod = val % 3;
if(mod == 0) {
var commas = div-1;
}
else {
var commas = parseInt(div);
}
$('input[name="Keywords"]').attr('data-commas', commas);
}
});
$('[name="campaignSubmit"]').closest('form').on('submit', function(e){
var el = $('input[name="Keywords"]');
val = el.val(), commas = (val.split(',').length -1), msg = '';
if(commas) {
if(!el.attr('data-commas')) {
msg = "You can't put any commas in 'Keywords' field !";
}
else {
if( el.attr('data-commas') && commas > el.attr('data-commas')) {
msg = "You can't put more than " + el.attr('data-commas') + " comma(s) in 'Keywords' field!";
}
}
}
if($('input[name="Website"]').val() == '') {
msg += "\nWebsite can't be left blank !";
}
if(msg) {
e.preventDefault();
alert(msg);
}
});
});
如果有人选择4、5或10,逻辑是什么?为什么不应该是关键字?如果有人选择4或5,则允许他们添加2个逗号,因为它介于3-6之间,如果用户输入10,则允许用户输入3个关键字,因为它介于9-12之间。之所以使用逗号,是因为关键字通常用逗号分隔。我在文本中添加了一些小改动,以便您更容易理解。谢谢你的回答,它可以用4-6=1个逗号,7-9=2个逗号,10-12=3个逗号等等,网站不能空着。你的另一个好答案。根据需要工作。谢谢!