我有一个导入 jquery mobile 的 html/php 网页(文件名为 searchresults.php)。当您进入页面时,网址通常类似于
www.domain.com/searchresults.php?&sort="off"&max="5"
在此示例中,排序关闭,仅显示 5 个项目。在该页面上有一个按钮,它打开一个弹出窗口,我希望用户能够更改这些设置。我使用内置的 jquery 移动弹出窗口。在该弹出窗口中,您可以打开/关闭“排序”,并且可以输入新的最大值。弹出窗口上有一个“确定”按钮,用于确认您的新设置。它看起来像这样:
<a href="" id="okbutton" data-role="button" onclick="sortAgain();">OK</a>
sortAgain(); javascript中的函数如下所示:
function sortAgain();
{
//some code to get the necessary variables//
...
//change the href of the button so you reload the page
document.getElementById("okbutton").href = "searchresults.php" + "?keyword=" + var1 + "&sort=" + var2 + "&max=" + var3
}
所以,基本上,就在“确定”按钮导航到另一个页面之前,我设置了它应该导航的页面的href。
该方案有效,并且从服务器再次获取 searchresults.php 文件并重新解释(使用 url 中的新变量)。
但是,如果我在更改一次后尝试再次更改设置,则弹出窗口什么也不做!换句话说,弹出窗口上 ok 按钮的 href 保持为空,并且不调用 javascript 函数 sortAgain()。我不明白为什么它第一次调用 onclick 方法非常好,但随后拒绝再次调用它?
我认为这与弹出 html 代码是 searchresult.php 文件的一个组成部分这一事实有关,并且指向同一页面的hrefing会产生问题?弹出是纯html,弹出代码中不涉及php。再次,它第一次运行良好。