我有一個項目,客戶可以根據複選框選擇價格,輸入框的名稱相同, 如果我選擇複選框但沒有輸入內容,我只想將複選框的值儲存在資料庫中,如果我選擇了輸入框並且只想儲存輸入框的值。 這是我的程式碼:
<ul class="donate-now">[enter image description here](https://i.stack.imgur.com/EyU7O.png) <li> <input type="radio" class="form-control btn-default target" id="a100" name="amount" value="100"/> <label for="a25">100€/mois</label> </li> <li> <input type="radio" class="form-control btn-default target" id="a200" name="amount" value="200" /> <label for="a50">200€/mois</label> </li> <li> <input type="radio" class="form-control btn-default target" id="a300" name="amount" value="300" checked/> <label for="a75">300€/mois</label> </li> </ul> </div> <div class="container form-control-lg" id="montant-libre"> <span class="input-symbol-euro"><input type="text" class="form-control form-control-md" style="color: #d34607;" id="montantlibre" onclick="clearRadio()" placeholder="Montant libre" name="amount" min="1"/></span> </div>
我是否需要在我的mysql上做一些更改,因為我總是遇到錯誤?
P粉4191647002024-04-05 10:51:24
<form id="donate"> <ul class="donate-now"> <li> <input type="radio" class="form-control btn-default target" id="a100" name="amount" value="100"/> <label for="a25">100€/mois</label> </li> <li> <input type="radio" class="form-control btn-default target" id="a200" name="amount" value="200" /> <label for="a50">200€/mois</label> </li> <li> <input type="radio" class="form-control btn-default target" id="a300" name="amount" value="300" checked/> <label for="a75">300€/mois</label> </li> </ul> <div class="container form-control-lg" id="montant-libre"> <span class="input-symbol-euro"> <input type="text" class="form-control form-control-md" style="color: #d34607;" id="montantlibre" onclick="clearRadio()" placeholder="Montant libre" name="amount" min="1"/> </span> </div> </form> <script> // 获取表单元素 var form = document.getElementById("donate"); if (form) { // 为表单添加提交事件监听器 form.addEventListener("submit", function(event) { // 获取选中的单选按钮 var selectedRadio = document.querySelector('input[name="amount"]:checked'); // 获取输入字段 var inputField = document.getElementById("montantlibre"); var amount = selectedRadio.value; // 检查输入字段是否有值 if (!Number(inputField.value) !== true) { // 新值 amount = inputField.value; } console.log(amount); // 阻止默认的表单提交 event.preventDefault(); }); } </script>
詳情:
1-使用document.getElementById("donate")
取得表單元素。
2-使用form.addEventListener("submit", function(event) { ... });
為表單新增提交事件監聽器。
3-在事件監聽器函數內部,使用document.querySelector('input[name="amount"]:checked')
取得選取的單選按鈕。
4-使用document.getElementById("montantlibre")
取得輸入欄位。
5-使用if (!Number(inputField.value) !== true) { ... }
檢查輸入欄位是否有值。
6-如果輸入欄位有值,則將該值儲存在amount變數中。否則,將選取的單選按鈕的值儲存在amount變數中。
7-使用event.preventDefault()
阻止預設的表單提交。