gpt4 book ai didi

javascript - 更新 php 变量并在页面刷新时选择选项

转载 作者:行者123 更新时间:2023-11-30 17:30:41 25 4
gpt4 key购买 nike

我有一个php变量

$cur_selection='one';

如上所示,我目前的默认值为“一”。

我有一个名为类(class)的下拉选择和一个按钮,我希望默认情况下从第一个选项开始。

<select id='courses'>
<option value='one'>Select Option</option>
<option value='two'>two</option>
<option value='three'>three</option>
</select>

<button onclick="RefreshpageAndChangeVariableandSelector()">Click Me!</button>

如您所见,列表中填充了具有值的选项。

在选择默认选项以外的选项然后单击按钮时,我希望必须刷新页面,将 $cur_selection 的值更新为所选选项的值,同时还更改 courses 中的选择。下拉菜单到单击之前选择的内容。

但是我不知道将什么放入 RefreshpageAndChangeVariableandSelector()做我需要它做的事

对于这个解决方案,我不打算使用 AJAX,而是刷新页面

最佳答案

使用刷新(我能想到)的唯一真正答案涉及查询参数。这将涉及一些伪代码,但它应该可以帮助您入门。如果您还有问题,请发表评论,我可以更新我的答案:)

Javascript

function RefreshpageAndChangeVariableandSelector(value)
{
value = encodeURIComponent(value);
window.location.href = window.location.href + '?selected=' + value;
// Note, this needs more logic (in case the page is already ?selected=one)
}

PHP

$default_value = 'one';
$cur_selection = !empty($_GET['selected']) ? $_GET['selected'] : $default_value;

Javascript 函数将获取一个值(或者您可以编写逻辑来确定该值)并使用 encodeURIComponent 对其进行编码.然后它将附加它作为查询参数 selected。这部分需要更多逻辑来确保我们不会在 ? 已经存在时附加它,或者为 selected 发送 2 个不同的值。如果你在这里迷路了,请告诉我,我会帮忙的。通过更新 window.location.href,Javascript 将向浏览器发出新的 GET 请求(技术上不是刷新)。

PHP 使用 shorthand conditional确保 $_GET['selected'] 不是 empty() .这是必要的,因为如果您只是查找未发送的 $_GET['selected'] ,您将得到一个异常。如果它为空,我们将回退到默认值。


更新

$default_value = 'one';

// This...
$cur_selection = !empty($_GET['selected']) ? $_GET['selected'] : $default_value;

// Is the same as...
if(!empty($_GET['selected'])) {
$cur_selection = $_GET['selected'];
} else {
$cur_selection = $default_value;
}

// And can also work like...
$cur_selection = $default_value;
if(!empty($_GET['selected'])) {
$cur_selection = $_GET['selected'];
}

关于javascript - 更新 php 变量并在页面刷新时选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23122770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com