我有一个javascript函数,旁边有这个if语句

if (validate(document.SearchForm)) {
   document.SearchForm.action.value = action;
   document.SearchForm.submit();
}


它在IE6中工作正常,但在Firefox中却不能。似乎Firefox无法克服If的争论。

比如说我的源代码中不存在validate()函数,IE会进入if语句吗?因为那是我开始考虑的原因,因为validate()根本没有在源代码中定义。

最佳答案

尝试此操作,假设“操作”是某些表单元素的名称将起作用:

document.forms["SearchForm"].elements["action"].value = action;
document.forms["SearchForm"].submit();


优良作法是不要使用动作或提交之类的保留字来命名表单元素,但如果这样做,请像上面的示例一样使用elements集合。

09-25 16:53