[英]Update php variable and select option on page refresh
我有一個php變量
$cur_selection='one';
如上所述,我目前的默認值為“ one”。
我有一個稱為課程的下拉選擇,還有一個按鈕,我希望默認情況下從第一個選項開始。
<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
的查詢參數。 這部分需要更多邏輯,以確保我們不附加?
當它已經存在或發送2個不同的值用於selected
。 如果您在這里迷路了,請告訴我,我們會幫助您。 通過更新window.location.href
,Javascript將通過瀏覽器發出新的GET
請求(從技術上講不是刷新)。
PHP使用速記條件來確保$_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'];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.