為什麼無法從$_POST取得輸入的值?
P粉464113078
P粉464113078 2023-09-06 17:12:23
0
1
482

前言:我對php和HTML還比較新手,如果有任何明顯的邏輯問題,我先向大家道歉。請隨時指出。

我目前在我的HTML頁面上有一個下拉式選單的功能,其中包含值1-4。選擇其中一個數值後,對應數量的文字方塊會「出現」在下拉式選單下方。實際上發生的是,當按下數值時,包含相應數量文字方塊的分區變為可見。

    

當我嘗試使用$_POST[""]函數將任何晶片ID的值檢索並保存到PHP中的變數時,該變數的值為空。

例如,當我使用以下程式碼將First Chip ID儲存到變數並寫入檔案時,檔案為空。

$FirstChipID = $_POST["First Chip ID"];

有人能解釋為什麼會出現這種行為嗎?是因為我多次初始化了"First Chip ID"和其他輸入嗎?對於識別和解決此問題的任何幫助將不勝感激。

P粉464113078
P粉464113078

全部回覆 (1)
P粉141911244

首先,使用沒有空格的值作為idname屬性是個好主意。至少對於JavaScript來說,這樣比較容易引用一個元素。

在輸入元素中使用相同的名稱是可以的。如果在表單中使用

元素,它具有一些內建功能可以使用。如果一個fieldset被停用,子輸入元素將不會被提交。因此,將所有fieldset停用為起點,並根據amount中選擇的內容啟用其中一個。若要隱藏已停用的fieldset,可以使用CSS。

我為提交事件新增了一個事件監聽器,這樣您就可以看到將要提交的資料。您可以使用PHP函數print_r($_POST)來查看請求中的所有post資料。

document.forms.form01.addEventListener('change', e => { let form = e.target.form; switch(e.target.name){ case 'amount': // disable all fieldsets form.querySelectorAll('fieldset').forEach(fs => fs.disabled = true); // enable the right fieldset form[`type_${e.target.value}`].disabled = false; break; } }); // event listener is just for testing document.forms.form01.addEventListener('submit', e => { e.preventDefault(); let data = new FormData(e.target); console.log([...data]); });
form { display: flex; flex-direction: column; } fieldset[disabled] { display: none; }
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!