我正在开发遗留应用。有人可以告诉我下面的每行代码在旧浏览器中返回的内容,以便我可以转换为正确的升级语法。
// form-name and input-name is just an example for a form annd input field
form-name.input-name.value
form-name.input-name.returnValue // How is this different than the one above
form-name.input-name.setValue() // I believe this sets the value
输入是输入文本字段。此外,代码非常具体IE。下面是一个如何首先选择输入然后在其上调用这些属性的示例。
function GetInputFieldById(id) {
return window.document.all(id)
}
var name = GetInputFieldById('name4308').returnValue;
你可以告诉它已经太老了,他们可能刚刚使用了getElementById(),但不确定它是不是标准规范的一部分。此外,在返回输入后,以相同的方式调用setValue()。
答案 0 :(得分:0)
我强烈建议您查看MDN。这是一个很棒的JavaScript参考。注意:不推荐使用以下两个功能。他们无法保证以任何方式工作。我提供了一个现代的替代方案,您应该转而使用。
returnValue
如上所述on MDN:
Event.returnValue属性指示是否已阻止此事件的默认操作。默认设置为true,允许执行默认操作。将此属性设置为false可防止默认操作。
基本上,这意味着"这个动作会涓涓细流吗?"可以在多个级别处理事件。例如,单击按钮也可以注册为表单上的单击。在某些较旧的浏览器中,您可以将returnValue
设置为false
以防止这种情况发生。
在现代浏览器中,您可以调用preventDefault
。例如:
input.addEventListener('click', function(e) {
e.preventDefault();
// do whatever...
});
或者,这可能与returnValue
on an HTMLDialogElement有关。这是一种实验性技术,在某些浏览器中,它允许您打开对话框窗口并指定与其交互时应返回的值。如果您遇到这种情况,您很可能希望找到或创建一个不同的模态系统,并以适合该实现的任何形式使用这些值。
setValue(...)
我无法找到对该函数的任何引用,但我的有根据的猜测是,它是一种在文本输入等元素上设置值的非标准方法。在现代使用中,这将通过以下方式完成:
input.value = whateverYouWant;