js动态添加行 限制插入行数量问题
我用JS动态插入行功能写了以下代码,都可以正常显示。但是现在想限制一下插入行数量,例如,我想在下面代码中,maxid为2,一直到maxid=6后就会限制插入行。超过6行就...
我用JS动态插入行功能写了以下代码,都可以正常显示。但是现在想限制一下插入行数量,例如,我想在下面代码中,maxid为2,一直到 maxid=6 后就会限制插入行。超过6行就禁止插入行。现在我只能做到在第6行开始提示,但是只要取消掉提示,依然可以插入。
因为我是JS初学者,还希望您能在以下代码上帮我做下修改,这个问题应该很简单。只要能够限制数量,那么分就送您了。
---------------------------------------------------显示插入行代码------------------
<LI><DIV class=name><SPAN style="COLOR: red">*</SPAN>商品地址1:</DIV><DIV class="value" id="shangpindizhi" style="width:270px; padding-left:0px; ">
<INPUT class=txt id=ProUrl style="WIDTH: 215px;" value=请输入商品网址 name=ProUrl onFocus="if (value==defaultValue)value='http://'" onBlur="if(!value)value=defaultValue"><input type="button" value="+" onclick="javascript:addRemoveItem('add','shangpindizhi');" style="font-size:12px"></DIV>
<DIV class=exp>填写商品地址,限制只能填写6个地址。</DIV></LI>
---------------------------------------------------js代码------------------
<script type="text/javascript">
var maxid = 2 ;
function addRemoveItem(act,target){
if ((!act || act == 'add') && target){
var $shangpindizhi = typeof(target) != 'object' ? document.getElementById(target) : target;
if (!$shangpindizhi) return;
var obj = document.createElement('<div style="border-bottom:1px #CCC dotted">');
obj.innerHTML = "商品地址"+maxid+":<INPUT class=txt id=ProUrl"+maxid+" style='WIDTH: 215px;' name=ProUrl"+maxid+" value=http://>" + '<input type="button" value="-" onclick="javas'+'cript:addRemoveItem(\'del\',this.parentNode);" style="font-size:12px"/></div>';
$shangpindizhi.appendChild(obj);
obj = $shangpindizhi = null;
maxid++;
} else if (act == 'del' && target){
if (typeof(target) != 'object') return;
target.parentNode.removeChild(target);
maxid--;
}
if(maxid>"6"){
alert('购物车商品超过6个无效!');
return false;
}
}
</script>
2331683 麻烦您能否给我修改下上面的代码 因为我实在是搞不懂JS编程,十分感谢啊,您就在上面的基础上帮忙修改下可以么。 展开
因为我是JS初学者,还希望您能在以下代码上帮我做下修改,这个问题应该很简单。只要能够限制数量,那么分就送您了。
---------------------------------------------------显示插入行代码------------------
<LI><DIV class=name><SPAN style="COLOR: red">*</SPAN>商品地址1:</DIV><DIV class="value" id="shangpindizhi" style="width:270px; padding-left:0px; ">
<INPUT class=txt id=ProUrl style="WIDTH: 215px;" value=请输入商品网址 name=ProUrl onFocus="if (value==defaultValue)value='http://'" onBlur="if(!value)value=defaultValue"><input type="button" value="+" onclick="javascript:addRemoveItem('add','shangpindizhi');" style="font-size:12px"></DIV>
<DIV class=exp>填写商品地址,限制只能填写6个地址。</DIV></LI>
---------------------------------------------------js代码------------------
<script type="text/javascript">
var maxid = 2 ;
function addRemoveItem(act,target){
if ((!act || act == 'add') && target){
var $shangpindizhi = typeof(target) != 'object' ? document.getElementById(target) : target;
if (!$shangpindizhi) return;
var obj = document.createElement('<div style="border-bottom:1px #CCC dotted">');
obj.innerHTML = "商品地址"+maxid+":<INPUT class=txt id=ProUrl"+maxid+" style='WIDTH: 215px;' name=ProUrl"+maxid+" value=http://>" + '<input type="button" value="-" onclick="javas'+'cript:addRemoveItem(\'del\',this.parentNode);" style="font-size:12px"/></div>';
$shangpindizhi.appendChild(obj);
obj = $shangpindizhi = null;
maxid++;
} else if (act == 'del' && target){
if (typeof(target) != 'object') return;
target.parentNode.removeChild(target);
maxid--;
}
if(maxid>"6"){
alert('购物车商品超过6个无效!');
return false;
}
}
</script>
2331683 麻烦您能否给我修改下上面的代码 因为我实在是搞不懂JS编程,十分感谢啊,您就在上面的基础上帮忙修改下可以么。 展开
2个回答
展开全部
addRemoveItem('add','shangpindizhi') 这个事件似乎在添加之前并没有判断maxid等于几,而是在添加以后判断的。你应该在document.createElement之前判断是否等于6,等于6就不执行
<script type="text/javascript">
var maxid = 2 ;
function addRemoveItem(act,target){
if ((!act || act == 'add') && target){
var $shangpindizhi = typeof(target) != 'object' ? document.getElementById(target) : target;
if (!$shangpindizhi) return;
if(maxid<="6"){
var obj = document.createElement('<div style="border-bottom:1px #CCC dotted">');
obj.innerHTML = "商品地址"+maxid+":<INPUT class=txt id=ProUrl"+maxid+" style='WIDTH: 215px;' name=ProUrl"+maxid+" value=http://>" + '<input type="button" value="-" onclick="javas'+'cript:addRemoveItem(\'del\',this.parentNode);" style="font-size:12px"/></div>';
$shangpindizhi.appendChild(obj);
obj = $shangpindizhi = null;
maxid++;
}else{
alert('购物车商品超过6个无效!');
return false;
}
} else if (act == 'del' && target){
if (typeof(target) != 'object') return;
target.parentNode.removeChild(target);
maxid--;
}
}
</script>
<script type="text/javascript">
var maxid = 2 ;
function addRemoveItem(act,target){
if ((!act || act == 'add') && target){
var $shangpindizhi = typeof(target) != 'object' ? document.getElementById(target) : target;
if (!$shangpindizhi) return;
if(maxid<="6"){
var obj = document.createElement('<div style="border-bottom:1px #CCC dotted">');
obj.innerHTML = "商品地址"+maxid+":<INPUT class=txt id=ProUrl"+maxid+" style='WIDTH: 215px;' name=ProUrl"+maxid+" value=http://>" + '<input type="button" value="-" onclick="javas'+'cript:addRemoveItem(\'del\',this.parentNode);" style="font-size:12px"/></div>';
$shangpindizhi.appendChild(obj);
obj = $shangpindizhi = null;
maxid++;
}else{
alert('购物车商品超过6个无效!');
return false;
}
} else if (act == 'del' && target){
if (typeof(target) != 'object') return;
target.parentNode.removeChild(target);
maxid--;
}
}
</script>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询