2

所以我在我正在开发的网站上做了一个演示。我在Firefox中开发,但IE10是会议室计算机上的默认设置。我加载的第一个页面有一个有两个选择的表单,一个输入新人的按钮,或者一个编辑现有人的按钮(它们只是页面重定向,实际工作稍后发生)

他们没有工作。

在 Firefox 中打开页面,它们工作得很好。网站上的所有其他按钮在 IE10 中都可以正常工作,只有这两个。

我使用 javascript 来控制表单动作,所有按钮都有相同的动作,只是表单名称和重定向不同。这工作正常:

function handle_profile()
{     
    if(document.pressed == "new_instructor")
        document.inst_act_choice.action = "instructors.php?mode=new";
    if(document.pressed == "edit_instructor")
        document.inst_act_choice.action = "instructor_profile.php?mode=select";  
}

如果我把它改回

function handle_profile()
{   
    if(document.pressed == "new_instructor")
        document.selection.action = "instructors.php?mode=new";
    if(document.pressed == "edit_instructor")
        document.selection.action = "instructor_profile.php?mode=select";  
}

然后它就坏了。但它不会在 Firefox 中中断,或者如果我在兼容模式下使用 IE10。尚未测试 chrome 等。我找不到任何说明选择作为表单名称无效的文档。

4

1 回答 1

5

selection是一个完全有效的表单名称,但document.selection由于document.selection在 IE 中使用,因此无法访问。

做一个清晰的跨平台示例:想象一下,如果您的表单名为getElementById. 这也是一个完全有效的元素名称,但您不应该期望它可以通过 identifier 访问document.getElementById

您可以改为通过 ID 通过document.forms["my_form_id"]或访问它document.getElementById("my_form_id")

于 2013-07-10T17:11:03.843 回答