javascript - 表单数据没改动不能提交表单js 如何写?
黄舟
黄舟 2017-04-10 16:51:23
[JavaScript讨论组]

<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>

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

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(4)
怪我咯

1增加input hidden

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

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

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

高洛峰

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号