[英]How to keep html selected option from POST data after submit?
我有一個默認值 HTML select,我想保留這個 select 上的數據,如果之前沒有選擇任何內容,我想保留第一個值,如下所示:
HTML 方:
<select id="gender" name="gender" class="form-control" required>
<option selected disabled>Gender</option>
<option value="1">Male</option>
<option value="2">Female</option> </select>
PHP 方:
$_SESSION['post'] = $_POST;
// I first protected the data with html_entities
$_SESSION['post']['gender']=$this->_dataProtected['gender'];
// I redirect just for test (it works well with other values from input)
header('Location: ?page=children&action=add');
exit();
Javascript 方:
$(window).on('load',function (){
var idGender = document.getElementById('gender').value = "<?php echo $_POST['gender'] ?? " + $('#gender').val($('#gender option:first').val()) + " ?>";
});
謝謝您的幫助
提交表格后的結果:在我沒有選擇選項的情況下,它用 null 值填充我的 select,當我選擇一個選項時也是如此。
您無法獲得從禁用選項傳回的值。 由於需要選擇,而是檢查返回值是否為 NULL,那么您就知道沒有選擇其他任何東西。
例子:
If (is_null($_SESSION['post']['gender'])) {
$_SESSION['post']['gender'] = 'Gender';
}
使用此 if/else,如果禁用選項被“選中”,您將變量更改為性別(選定的禁用選項)。
謝謝你@Stoff,
將value=""
添加到所選選項后,我將 Javavscript 更改為:
var idGender = document.getElementById('gender').value = "<?php echo
$_SESSION['post']['gender'] ?? '' ?>";
現在,它的作品:D
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.