我正在尝试使用javascript提交表单。 Firefox工作正常,但IE在这个函数的提交行上抱怨“Object不支持这个属性或方法”:
function submitPGV(formName, action)
{
var gvString = "";
pgVisibilities.each(function(pair) {
gvString += pair.key + ":" + pair.value + ",";
});
$('pgv_input').value = gvString;
var form = $(formName);
form.action = action;
form.submit();
}
在这里打电话:
<a href="javascript:submitPGV('ProductGroupVisibility','config/productgroupvis/save')">
以下是表格:
<form id="ProductGroupVisibility" action="save" method="post">
<input type="hidden" name="ows_gv..PGV" id="pgv_input" value=""/>
</form>
有什么想法吗?
答案 0 :(得分:14)
name
有哪些<input type="submit">
?
如果您将其称为“提交”,则您已覆盖form.submit()
函数,就像名为“foo”的输入将生成form.foo
属性的方式相同。这可以解释这种行为。
答案 1 :(得分:5)
尝试检查IE正在选择的元素的类型:
// For getting element with id you must use #
alert( typeof( $( '#ProductGroupVisibility' )));
页面上可能还有其他东西,IE在表单之前选择了该ID。
答案 2 :(得分:3)
请注意表格中名称='submit'的任何输入,它们会破坏javascript .submit()功能!
答案 3 :(得分:1)
您使用的是什么JavaScript框架?如果是jQuery我认为你需要在你的id中添加#:
$('#ProductGroupVisibility').submit();
答案 4 :(得分:0)
您确定已加载JavaScript库吗? (jQuery或Prototype)
在IE7中使用Prototype对我有用。
尝试:
alert($('ProductGroupVisibility').id)
看看你是否收到错误。