在IE6中输入密钥不会提交表单

时间:2010-08-23 11:03:38

标签: javascript html security browser forms

我有一个这样的表格:

<form id="form_main" name="form_main" action="/search/" target="iframe001" method="get" onSubmit="reset_and_subm();">

输入密钥不会在IE6中提交此表单,但会在Chrome,FF,Opera,Safari和IE8中提交(尚未测试IE7)。 事实上,即使按下提交按钮也不会提交表格。 我现在已经试了几个小时......可能是什么问题? 我试过这个:

<form id="form_main" name="form_main" action="/search/" target="iframe001" method="get" onSubmit="alert('hello');">

警报框出现了消息......

现在这里是函数“reset_and_subm();”

function reset_and_subm(){
    document.getElementById("p").value = 1;
    return true;
}

有人知道我应该在这做什么吗?

顺便说一下,我已经检查了表单中的所有输入,一切似乎都没问题......所以假设表单的内容没有任何问题。

由于

更新:

我有一个提交按钮。 整个表单内容是放大的方式,但它只包含一个文本字段。 其余的是“选择”和“隐藏的输入”。 我正在进入唯一的文本区域... 我还添加了提交按钮的代码:

<input name="nav_querystring" type="text" id="nav_querystring" style="width: 240px; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;" value="">

<input type="submit" name="nav_submit" id="nav_submit" value="Sök" style="width: 55px; font-size: 13px;">

UPDATE2:

只是要指出,我已经包含了包含函数“reset_and_subm”的js文件,而且,我在.htaccess中使用mod_rewrite来重写表单的操作。 我希望这不会导致这个问题。

UPDATE3: 似乎问题可能在于身体OnLoad eventy,我在这里没有列出js函数。 IE6不支持OnLoad吗? 我该怎么用......

这是我目前的代码:

  <body onLoad="subSelection();">

由于

3 个答案:

答案 0 :(得分:1)

我似乎记得有一个奇怪的错误,IE6中的页面上只有一个文本框,我们不得不在很久以前就开始工作了。尝试在页面上放置另一个空文本框,其样式设置为display:none,看看是否有效。这可能听起来很疯狂,但这就是疯狂的IE漏洞所发生的......

答案 1 :(得分:1)

我对您的代码进行了两处更改。

当您从onsubmit调用函数时,我在方法调用中包含了“return”关键字。

由于表单只有一个表单元素,我在表单中添加了一个隐藏元素。

<form id="form_main" name="form_main" action="/search/" target="iframe001" method="get" onSubmit="return reset_and_subm();">
    <div style="display: none;"><input type="text" name="ie6"></div>
    <input name="nav_querystring" type="text" id="nav_querystring" style="width: 240px; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;" value="">
    <input type="submit" name="nav_submit" id="nav_submit" value="Sök" style="width: 55px; font-size: 13px;">
</form>

如果你仍然被卡住,请大喊。

答案 2 :(得分:1)

IE中存在一个错误,当按下“输入/返回”键时,单个文本字段的表单将无法提交。解决方案是添加第二个字段: 简单:D