在IE10中选择无效的表单名称?

时间:2013-07-10 16:28:47

标签: javascript html webforms internet-explorer

所以我在我正在开发的网站上进行了演示。我在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等。我找不到任何文档说选择作为表单名称无效。

1 个答案:

答案 0 :(得分:5)

selectionperfectly valid form name,但由于document.selectionalready in use in IE而无法访问document.selection

制作一个明确的跨平台示例:假设您的表单名为getElementById。这也是一个非常有效的元素名称,但你不应该期望它可以通过标识符document.getElementById访问。

您可以通过document.forms["my_form_id"]document.getElementById("my_form_id")来识别ID。