簡體   English   中英

更新php變量並選擇頁面刷新選項

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM