我一直试图通过mootools(1.4.5)在FF 14上提交表单。表单不包含名为submit的输入(这通常是问题)。我想要的是在select中提交表单。半小时后,下面的代码是我的第一次尝试,让它工作。 objSelect是一个包含在我需要提交的表单中的选择对象。
$(''+objSelect.getParent('form').get('id')).submit();
下面的代码不能正常工作的原因是什么?
// Without the explicit cast to string (''+); doesn't work
$(objSelect.getParent('form').get('id')).submit();
,也不
// Most obvious way; doesn't work
objSelect.getParent('form').submit();
答案 0 :(得分:1)
您不能拥有通过旧DOM级别API导出的保留名称的子节点 - 请参阅此处如何表示表单:http://www.quirksmode.org/js/forms.html#access
所以基本上 - 在元素级别,如果你有:
form.foo
和form.bar
将在表单元素对象上引用这些元素。
你的问题是:
.submit
和.reset
方法)
现在form.submit
停止引用submit方法并开始引用input元素。
您仍然可以通过以下方式提交此表单:
new Element("form").submit.call(this.getParent("form"));
基本上你用一个干净的提交方法创建一个新的表单元素。返回一个对象,并使用另一个“脏”形式作为上下文调用该方法。
这和做
一样Array.prototype.slice.call(arguments)