0

考虑这个 HTML

<table id="search_results">
    <tr><td><a href="reports.php" style="display:none">_</a>Report 1</td></tr>
</table>

我编写了代码,当鼠标单击其父 (TR) 包含带有 href 属性的 A 标记的 TD 时,窗口将重定向到该页面:

//Set row clicking
$('table#search_results td').click(function () {
    var href = $(this).parent().find('a').attr("href");
    if (href) { window.location = href; }
});

当用户点击 TD 时,此代码完美运行。但是,我编写了在按下返回按钮时触发单击事件的代码。

$(document).keypress(function(e) {
    if(e.which == 13) {
        $('table#search_results tr:not([class=vanish]) td:first').click();
    }
});

我已经调试了代码。当按下返回按钮时,单击事件实际上被触发并且 href 变量被正确填充但是页面只是用 ? 在 URL 的末尾而不是被重定向到设置的 href...(例如,如果我在“index.php”中并打算转到“reports.php”,而不是去那里,页面会用 url 刷新“index.php?”

为什么会发生这种情况?

4

2 回答 2

0

i think what you meant to do is:

$(selector).trigger("click");

also:

window.location is an object. what you probably wanted to set is window.location.href

http://davidwalsh.name/javascript-window-location

于 2012-09-12T08:32:09.903 回答
0

改正了。。我的错。。。

本机表单提交正在接管 jquery 代码,即使表单没有任何操作并且任何地方都没有提交按钮。我所要做的就是添加 onsubmit="return false;" 在表格中。

于 2012-09-12T10:34:11.290 回答