首页 > 表单数据没改动不能提交表单js 如何写?

表单数据没改动不能提交表单js 如何写?

<form action="" method="">

用户名:<input type="text" name="username">
姓名:<input type="text" name="sex">
电话:<input type="text" name="tel">
<input type="submit"name="submit"value="提交">
</form>

其中用户名不能改变的,当姓名和电话的值没改变时不能提交,如何阻止提交?


1)页面加载时记录原始值
2)为你要监控的字段添加变更监听,当内容发生变化时,设置这个地段的变更标志为为1,否则为0,要注意A-B-A这种变化,要认为是没有变化的。有变化提交按钮可点,没变化不可点
3)在提交的时候再次check字段的标志位是否变更了,如变化可提交,否则不提交


<!DOCTYPE html>

<form onsubmit="javascript: return submit1();">
用户名:<input type="text" value='username' name="username" readOnly="true" >
姓名:<input type="text" name="sex" value='name'>
电话:<input type="text" name="tel" value='tel'>
<input type="submit" name="submit" value="提交" >
</form>

<script>
sex = document.getElementsByName('sex')[0].value;
tel = document.getElementsByName('tel')[0].value;
function submit1(){
if(document.getElementsByName('sex')[0].value == sex || tel == document.getElementsByName('tel')[0].value){
return false;
}else{
return true;
}
}

</script>


先把已有的值存起来,然后在提交的时候获取新的值,比较一下相同就提交,不相同就不提交

submitElement.addEventListener('click',function(e){
    if(oldUsername === newUsername && oldSex === newSex && oldTel === newTel){
        e.preventDefault();
    }
    //。。。
});

1增加input hidden

<input type="hidden" name="xingMingHidden" value="原始姓名">

input hidden存储原始姓名,电话,提交时js判断输入的姓名和电话是否与原始姓名和原始电话不一样,不一样则向后台提交,否则,return false,即阻止submit

2后台判断姓名与电话与原始值师否一样,一样就返回错误提示

【热门文章】
【热门文章】