所以我在我正在开发的网站上进行了演示。我在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等。我找不到任何文档说选择作为表单名称无效。
答案 0 :(得分:5)
selection
是perfectly valid form name,但由于document.selection
为already in use in IE而无法访问document.selection
。
制作一个明确的跨平台示例:假设您的表单名为getElementById
。这也是一个非常有效的元素名称,但你不应该期望它可以通过标识符document.getElementById
访问。
您可以通过document.forms["my_form_id"]
或document.getElementById("my_form_id")
来识别ID。