【问题标题】:Javascript: fast way to check if form contents have been changed before submissionJavascript:在提交之前检查表单内容是否已更改的快速方法
【发布时间】:2011-12-03 17:56:18
【问题描述】:

简单的问题(我猜)... 我在一个“编辑一些元素”的 html 表单中。 当页面加载时,表单会填充当前元素属性(例如名称等) 我可以修改一些输入字段,甚至决定不这样做,但我在提交按钮上单击相同,因为这是唯一可用的。

我的问题: 是否有输入元素的属性/属性包含初始输入值,当我单击提交按钮时,我可以访问这些初始输入值以将它们与当前输入值进行比较? 换一种说法: 有没有一种快速的方法可以在提交表单之前检查至少一个输入字段是否已更改? (所以如果真的不需要更新,就停止事件) (我的意思是“真的改变了”在我修改某些东西时不考虑改变,而是像以前一样重写它)

我想要一个最小的例子: 如何检查简单的输入文本“名称”是否已更改

附: 当然,要触发“check-if-something-changed”功能, 如果我决定使用纯 javascript,我会在使用 jQuery 时使用 onSubmit 事件,我会使用类似的东西:

$('#formMod').submit(function(){ ...

谢谢。

【问题讨论】:

  • 我想知道是否可以使用 jQuery 以如下方式实现对输入更改的检查:if($('input[DefaultValue!=input.value]').lenght==0){...} 怎么样? (我写的例子似乎没有用,但我没有得到错误通知使用它......)
  • this 回答了我的第二个问题。

标签: javascript forms form-submit


【解决方案1】:

可以使用输入元素defaultValuedom属性:

function validateInput(input) {
    if (input.value == input.defaultValue) {
        alert("Please change field.");
        return false;
    }
    return true;
}

【讨论】:

  • 不错!不知道 defaultValue 存在!
  • 我也不...简单而致命,太棒了!现在我认为最好的办法是在所有输入字段上调用一个包含循环的函数来检查更改,如果有更改,继续进行表单验证/提交;否则停止事件,无需继续。谢谢你!
猜你喜欢
  • 2011-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-04
  • 1970-01-01
  • 2014-09-04
  • 2013-02-22
相关资源
最近更新 更多