js判断table元素中元素值是否改变,若未改变返回false, table中包含input和select元素,贴段代码上来
好心人帮我看看错哪了?<scripttype="text/javascript">functioncheck_change(){varinplen=document.ge...
好心人帮我看看错哪了?
<script type="text/javascript">
function check_change()
{
var inplen=document.getElementsByTagName("table").getElementsByTagName("input").length;
var input=document.getElementsByTagName("table").getElementsByTagName("input");
alert(inplen);
var customer=document.getElementById("cr");
var curCR=customer.options[customer.options.selectedIndex].value;
for(var a=0;a<inplen;a++)
{
if(input[a].value!=input[a].defaultValue )
{
return true;
}
if(customer.value==curCR)
{
return false;
break;
}
return true;
}
}
</script>
看看 改成这样呢?table中有几个input,一个select(id:customer)和一个textarea (id:remark)。
form中的onsubmit 事件调用check_change()函数.onsubmit="return check_change();"
<script type="text/javascript">
function check_change(){var inplen=document.getElementById("table").getElementsByTagName("input").length;var input=document.getElementById("table").getElementsByTagName("input");
var customer=document.getElementById("cr");var curCR=customer.options[customer.options.selectedIndex].value;var remark=document.getElementById("remark");for(var a=0;a<inplen;a++)
{if(input[a].value!=input[a].defaultValue ){return true;}return false;}if(customer[0].value==curCR && remark.value==remark.defaultValue){alert("No change to save !");return false;}</script> 展开
<script type="text/javascript">
function check_change()
{
var inplen=document.getElementsByTagName("table").getElementsByTagName("input").length;
var input=document.getElementsByTagName("table").getElementsByTagName("input");
alert(inplen);
var customer=document.getElementById("cr");
var curCR=customer.options[customer.options.selectedIndex].value;
for(var a=0;a<inplen;a++)
{
if(input[a].value!=input[a].defaultValue )
{
return true;
}
if(customer.value==curCR)
{
return false;
break;
}
return true;
}
}
</script>
看看 改成这样呢?table中有几个input,一个select(id:customer)和一个textarea (id:remark)。
form中的onsubmit 事件调用check_change()函数.onsubmit="return check_change();"
<script type="text/javascript">
function check_change(){var inplen=document.getElementById("table").getElementsByTagName("input").length;var input=document.getElementById("table").getElementsByTagName("input");
var customer=document.getElementById("cr");var curCR=customer.options[customer.options.selectedIndex].value;var remark=document.getElementById("remark");for(var a=0;a<inplen;a++)
{if(input[a].value!=input[a].defaultValue ){return true;}return false;}if(customer[0].value==curCR && remark.value==remark.defaultValue){alert("No change to save !");return false;}</script> 展开
2个回答
2012-10-28 · 知道合伙人互联网行家
关注
展开全部
你的追问里面的代码,去掉第一个return false;这一句在循环里面,基本上都能执行到的,你自己想想。另外,你的function的{}没匹配,最后漏了},在check_change最后加多一个return true,默认有变化,因为你前面做了所有变化情况的判断,返回false,只要它能执行到最后,就一定是有变化了。
下面是修改:
function check_change() {
var inplen = document.getElementById("table").getElementsByTagName("input").length;
var input = document.getElementById("table").getElementsByTagName("input");
var customer = document.getElementById("customer");
var curCR = customer.options[customer.options.selectedIndex].value;
var remark = document.getElementById("remark");
for (var a = 0; a < inplen; a++) {
//有变化立刻返回true
if (input[a].value != input[a].defaultValue) {
return true;
}
//return false;
}
//到这里,全部都没变化了,返回false
if (customer[0].value == curCR && remark.value == remark.defaultValue) {
alert("No change to save !");
return false;
}
//上面都跑过,那就是有变化了
return true;
} //你漏了这个
下面是修改:
function check_change() {
var inplen = document.getElementById("table").getElementsByTagName("input").length;
var input = document.getElementById("table").getElementsByTagName("input");
var customer = document.getElementById("customer");
var curCR = customer.options[customer.options.selectedIndex].value;
var remark = document.getElementById("remark");
for (var a = 0; a < inplen; a++) {
//有变化立刻返回true
if (input[a].value != input[a].defaultValue) {
return true;
}
//return false;
}
//到这里,全部都没变化了,返回false
if (customer[0].value == curCR && remark.value == remark.defaultValue) {
alert("No change to save !");
return false;
}
//上面都跑过,那就是有变化了
return true;
} //你漏了这个
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询