我有一个包含许多 dijit.form 元素和一个 dijit.Editor 的表单。该表单最初填充了我从服务器获得的数据。用户可以更改内容,然后将其提交回服务器。经典用例。
当用户提交表单时,我只需要发送更改后的数据。 dijit.Editor 的问题在于它有时会更改初始内容,即使用户没有进行任何更改也是如此。例如:
dijit.editor中输入的初始内容是这样的:
"Gesegmenteerde rand, 115 mm~Max 13280 U/min, 80 m/sec</br>~Drooggebruik"
当像这样检索内容时 editorObj.get('value');它返回这个:
"Gesegmenteerde rand, 115 mm~Max 13280 U/min, 80 m/sec<br />~Drooggebruik"
如您所见, 已更改为
。我知道原始值是错误的,但那是因为来源很烂而且我无法控制。
所以我的问题是:是否有一种简单的方法来检查内容是否确实已被用户更改,而不仅仅是 dijit.Editor 本身。
最佳答案
像这样的东西(在编辑器标记上)有效:
onkeypress="MyObject.setDirty(true);"
只需在 MyObject.isDirty
上跟踪它。
这确实有一个缺点,如果用户在编辑器中键入内容,然后将所有内容修改为与原来完全相同,则值将是错误的(即,true,而内容又恢复为原始状态),但这已经足够了对于大多数目的。
关于javascript - 判断一个(dojo)dijit.Editor中的内容是否与初始值不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9826935/