簡體   English   中英

提交后如何從 POST 數據中保留 html 選擇的選項?

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

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