在IE7&amp ;;的下拉菜单中,JQuery表单提交不起作用IE8

时间:2013-08-07 13:31:06

标签: javascript jquery forms internet-explorer-8 internet-explorer-7

我在下拉菜单项中有一个表单。将鼠标悬停在父级上时会显示下拉菜单(使用Superfish插件)。我有一个 a 标记,它调用一个函数来通过JQuery提交表单。 HTML看起来像这样:

<form method="post" action="/our-care/" id="frm-oc-dlg">
            <input class="oc-search-txt-field" id="oc-dlg-query-field" name="query" type="text">
            </form>
            <a class="oc-search-btn-info-action" href="#" onclick="ocDlgDoSearch(); return false;">&nbsp;</a>

处理onclick事件的JavaScript代码如下所示:

function ocDlgDoSearch() {
if ($('#oc-dlg-query-field').val() != '') {
    $('#frm-oc-dlg').submit();
}}

这适用于Chrome,Firefix,Safari和IE 9.但是,在IE7和IE8中,表单提交但文本字段的值不会发送(通过POST)。我认为它与表单位于DOM元素中的事实有关,该元素是隐藏的,并根据父级的鼠标悬停事件显示。

有没有人知道为什么会这样,也许有关如何修复的建议?谢谢!

1 个答案:

答案 0 :(得分:0)

ocDlgDoSearch()立即运行该功能。这不是jQuery。使用:

$('#frm-oc-dlg').submit(function onSubmit() {
    yourFunctionCallHere();
});