判断同一个input框两次值是否一致

本文介绍了在JavaScript中检测input值变化的两种常见方法:原生的change事件和变量控制。change事件在输入值改变时触发,而变量控制则在输入框失去焦点时检查值的变化。文章通过示例代码详细阐述了两种方法的实现,并讨论了它们在项目背景中的适用性和优缺点。对于项目需求,即两次输入值不一致时才能提交数据,文章提供了相应的解决方案。
摘要由CSDN通过智能技术生成
1. 原生方法

input有自己的方法onchange
在jquery中为:

$('input').on('change',function(){
	console.log('两次值不一致')
})

当input的值发生改变时,才会触发change事件。

2. 变量控制实现

声明两个变量,分别存储输入框的值

let first = ''
let second = ''
$('input').on('blur', function () {
    first = second
    second = $('input').val()
    if(first  !== second ){
    	console.log('两次值不一致')
    }
})
3.项目背景

两次输入的值不一样时,点击确定按钮,提交数据
在这里插入图片描述

3.1 原生方法实现
let flag = true
$('input').on('change', function () {
   flag = true
   console.log('值变了')
})

$('button').on('click', function () {
   if (flag) {
       askFoo()
   }
})

function askFoo() {
   flag = false
   console.log('提交----')
}

优点:change事件简单明了。
缺点:flag变量的控制分布在不同的方法中,比较分散

3.2 变量控制实现
let first = ''
let second = ''
let flag = true
$('button').on('click', function () {
    first = second
    second = $('input').val()
    flag = first !== second;
    if (flag) {
        askFoo()
    }
})

function askFoo() {
    console.log('提交----')
}

优点:只在点击按钮时控制flag的值,其他模块只做自己的业务。
缺点:我觉得没什么缺点

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值