Php 如何使用按钮更改页面URL
我正在尝试在日历上执行下一个/上一个按钮以显示下一个/上一个月 理想情况下,最好不要刷新页面,但首先我不介意刷新页面 我有一个php中的calendar($m,$y)函数,可以直接在url中更改日历的值。例如(这是一幅图像): 因此,基本上,在这个示例中,我希望前面的按钮将url更改为“../index1.php?mois=2&year=2019” 我尝试了以下代码(以及许多其他代码),这是关于这个主题的回答最多的问题之一,但没有成功:Php 如何使用按钮更改页面URL,php,jquery,ajax,Php,Jquery,Ajax,我正在尝试在日历上执行下一个/上一个按钮以显示下一个/上一个月 理想情况下,最好不要刷新页面,但首先我不介意刷新页面 我有一个php中的calendar($m,$y)函数,可以直接在url中更改日历的值。例如(这是一幅图像): 因此,基本上,在这个示例中,我希望前面的按钮将url更改为“../index1.php?mois=2&year=2019” 我尝试了以下代码(以及许多其他代码),这是关于这个主题的回答最多的问题之一,但没有成功: <script> function getQ
<script>
function getQueryVariable(variable) {
var query = url.substring(1);
var vars = query.split('&');
for (var i=0; i<vars.length; i++) {
var pair = vars[i].split('=');
if (pair[0] == variable) {
return pair[1];
}
}
return false;
}
var url = 'http://localhost/VELO/index1.php?mois=3&year=2019'
var mois = getQueryVariable(url, 'mois');
var year = getQueryVariable(url, 'year');
var params = { 'mois':2, 'year':2019};
var new_url = 'http://localhost/VELO/index1.php?' + jQuery.param(params);
// With this in my <body> :
// <button type="button" class="precedent"><a href="new_url">Prev</a></button>
</script>
总之,我想问的是:
- 我使用的代码在这种情况下不适用吗
- 有没有其他方法可以通过按钮更改我的url?(我可以使用$_GET['month']?)
- 是否可以在不刷新页面的情况下执行此操作
<script> // NOT WORKING
$(function() {
$('.precedent').click(function(e){
e.preventDefault();
var targetUrl = "http://localhost/VELO/index1.php?mois=6";
window.history.pushState(null, null, targetUrl);
setCurrentPage(targetUrl);
});
});
</script>
//不工作
$(函数(){
$('.preference')。单击(函数(e){
e、 预防默认值();
var targetUrl=”http://localhost/VELO/index1.php?mois=6";
window.history.pushState(null,null,targetUrl);
setCurrentPage(targetUrl);
});
});
我这里的问题(如果还有人想解决/解释)是url正在更改,但我的日历没有更改。例如,当我点击我的上一个按钮时,我在我的页面中有这样的内容,你可以看到url已更改,但日历不是6月份的日历(mois=6)
下面是我如何解决这个问题的:
<script> // WORKING
$(function() {
$('.precedent').click(function(e){
e.preventDefault();
var targetUrl = "http://localhost/VELO/index1.php?mois=6";
window.location = targetUrl;
});
});
</script>
//正在工作
$(函数(){
$('.preference')。单击(函数(e){
e、 预防默认值();
var targetUrl=”http://localhost/VELO/index1.php?mois=6";
window.location=targetUrl;
});
});
在这种情况下,我的日历正在更新,如下所示我找到了问题的答案 起初,我尝试了Degrerichi发给我的解决方案,但效果不太好。 以下是第一个不起作用的代码:
<script> // NOT WORKING
$(function() {
$('.precedent').click(function(e){
e.preventDefault();
var targetUrl = "http://localhost/VELO/index1.php?mois=6";
window.history.pushState(null, null, targetUrl);
setCurrentPage(targetUrl);
});
});
</script>
//不工作
$(函数(){
$('.preference')。单击(函数(e){
e、 预防默认值();
var targetUrl=”http://localhost/VELO/index1.php?mois=6";
window.history.pushState(null,null,targetUrl);
setCurrentPage(targetUrl);
});
});
我这里的问题(如果还有人想解决/解释)是url正在更改,但我的日历没有更改。例如,当我点击我的上一个按钮时,我在我的页面中有这样的内容,你可以看到url已更改,但日历不是6月份的日历(mois=6)
下面是我如何解决这个问题的:
<script> // WORKING
$(function() {
$('.precedent').click(function(e){
e.preventDefault();
var targetUrl = "http://localhost/VELO/index1.php?mois=6";
window.location = targetUrl;
});
});
</script>
//正在工作
$(函数(){
$('.preference')。单击(函数(e){
e、 预防默认值();
var targetUrl=”http://localhost/VELO/index1.php?mois=6";
window.location=targetUrl;
});
});
在这种情况下,我的日历将更新如下解决方案中有一些类似的问题:,。解决方案中有一些类似的问题:,。谢谢,我发布了我对问题的答案!谢谢,我发布了我对这个问题的答案!不要硬编码URL。至少尝试获取主机名,然后附加路径。是的,我不会让我的URL像那样,但我将创建另一个函数来捕获当前的年/月变量ID,然后添加+1或-1,以便我的“上一个/下一个”按钮按预期工作。不要硬编码URL。至少尝试获取主机名,然后附加路径。是的,我不会让我的URL像那样,但我将制作另一个函数来捕获当前的年/月变量ID,然后添加+1或-1,这样我的上一个/下一个按钮就可以像它们应该的那样工作。