如果表单字段没有被修改,如何在jQuery中禁用提交按钮?

如果表单字段没有被修改,如何在jQuery中禁用提交按钮?,第1张

概述我有一个HTML表单,其中包含文本字段,复选框,单选按钮和提交按钮. 我想只有在修改字段内容时才启用提交按钮.现在是捕获:如果用户将字段内容修改回原始值,则应再次禁用表单按钮. >原始字段值“foo”=>提交按钮被禁用 >用户将字段值更改为“bar”=>提交按钮变为启用状态 >用户将字段值更改回“foo”=>提交按钮再次被禁用 如何用jQuery实现这一目标?我可以使用任何形式的任何通用解决方案或 我有一个HTML表单,其中包含文本字段,复选框,单选按钮和提交按钮.

我想只有在修改字段内容时才启用提交按钮.现在是捕获:如果用户将字段内容修改回原始值,则应再次禁用表单按钮.

>原始字段值“foo”=>提交按钮被禁用
>用户将字段值更改为“bar”=>提交按钮变为启用状态
>用户将字段值更改回“foo”=>提交按钮再次被禁用

如何用jQuery实现这一目标?我可以使用任何形式的任何通用解决方案或脚本吗?

编辑:我要问的是简单的脏状态跟踪无法完成.

解决方法 使用脏状态跟踪.将布尔值(例如IsDirty)附加到每个输入控件,并在值更改时切换它.提交表单时检查是否至少有一个或多个值发生了变化,然后提交表单.否则向用户显示警报.

另一种解决方案是在控件值发生变化时调用公共函数.在此函数中,如果更改了某些内容,您可以将全局变量(IsDirty)设置为true,并启用/禁用提交按钮.

var isDirty = false;function SomethingChanged(){     if( !isDirty ) isDirty = true;     btnsubmit.Disabled = !isDirty;}

任何控件的通用函数

假设:将每个控件的初始值添加到属性“InitVal”

function SomethingChanged(control){     if( control.value != control.InitVal )          control.IsDirty = true;     else          control.IsDirty = false;}

在上面的函数中,为了使它通用,你可以为每种类型的控件提供单独的函数,如TextBoxChanged和DropDownChanged等.但是在每个控件上都有以下两个属性

> InitValue – 控件的初始值> IsDirty – 表示控件值已更改的布尔值

总结

以上是内存溢出为你收集整理的如果表单字段没有被修改,如何在jQuery中禁用提交按钮?全部内容,希望文章能够帮你解决如果表单字段没有被修改,如何在jQuery中禁用提交按钮?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1103767.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存