检查表单字段是否更改

时间:2011-08-23 06:05:06

标签: javascript html forms events javascript-events

我有一些表单字段,如<input><textarea><dropdown>等。

如果用户在任何表单字段中进行更改,则应立即提示该字段已更改。

我应用了不同的事件,例如 onKeyPress (不适用于退格键), onChange (失去焦点时有效)。

在简单/普通的javascript中是不可能的,那么我想在Dojo中知道它。

3 个答案:

答案 0 :(得分:1)

请参阅堆叠问题:Detect all changes to a <input type="text"> (immediately) using JQuery

虽然接受的答案是使用jquery setInterval可以正常使用javascript。只需使用GetElementByID或GetElementsByTagName来获取输入字段,然后只需检查它们自己的值。

答案 1 :(得分:0)

没有HTML“下拉列表”元素,您可能需要选择。

对于某些控件,您可以将控件的当前值与其 defaultValue 进行比较以查看它是否已更改,选择适合该控件的任何事件。对于select,onchange是最好的,并与之前选择的选项(如果有)相比较。您可以使用输入和textarea键盘。单选按钮和复选框单击并与之前检查过的按钮(如果有)进行比较。

答案 2 :(得分:0)

通过javascript附加事件onFocus在输入字段上。 Onfocus setTimeout()并将其递归。如果任何内容会发生变化,它将通知。就我而言,它有效;即使我从中做了另一项任务。我在页面加载时保存现有的输入字段值。例如,页面加载时 abc 。用户将其更改为 abcd ,然后会有一条消息用于取消保存更改。但是,当用户删除 d 并再次将其设为 abc 时,消息将消失,表示没有未保存的更改。