在使用 JavaScript 編寫表單驗證時,經常需要檢查選項按鈕(radio)。選項按鈕是一組單選按鈕,用戶只能選擇其中的一個選項。在提交表單之前,我們需要確保用戶已經選擇了一個選項。下面就是一個簡單的例子:
<form>
<input type="radio" name="gender" value="male"> Male
<input type="radio" name="gender" value="female"> Female
<input type="button" value="Submit" onclick="validateForm()">
</form>
<script>
function validateForm() {
var radios = document.getElementsByName("gender");
var checked = false;
for (var i = 0; i < radios.length; i++) {
if (radios[i].checked) {
checked = true;
break;
}
}
if (!checked) {
alert("Please select your gender.");
}
}
</script>
在上面的代碼中,我們使用了getElementsByName()
方法來獲取所有的名為“gender”的單選按鈕,并使用 for 循環來檢查它們是否被選中。如果沒有選中,就會彈出一個警告框,提示用戶選擇性別。
除了直接使用getElementsByName()
方法外,我們還可以通過在表單元素中添加相同的類名來獲取所有單選按鈕:
<form>
<input type="radio" class="gender" name="gender" value="male"> Male
<input type="radio" class="gender" name="gender" value="female"> Female
<input type="button" value="Submit" onclick="validateForm()">
</form>
<script>
function validateForm() {
var radios = document.getElementsByClassName("gender");
var checked = false;
for (var i = 0; i < radios.length; i++) {
if (radios[i].checked) {
checked = true;
break;
}
}
if (!checked) {
alert("Please select your gender.");
}
}
</script>
在上面的代碼中,我們使用了getElementsByClassName()
方法來獲取所有的名為“gender”的單選按鈕,并使用 for 循環來檢查它們是否被選中。如果沒有選中,就會彈出一個警告框,提示用戶選擇性別。
除了檢查選項按鈕是否被選中外,還可以通過 JavaScript 動態添加選項按鈕:
<button onclick="addRadio()">Add radio
在上面的代碼中,我們通過createElement()
和appendChild()
方法動態添加了一個名為“color”的單選按鈕,并將它添加到 id 為“options”的 div 元素中。在這個例子中,我們還添加了一個文本節點,用來顯示選項的名稱。
除了添加選項按鈕外,我們還可以通過 JavaScript 動態移除選項按鈕:
<form>
<fieldset id="colors">
<legend>Colors</legend>
<input type="radio" name="color" value="red"> Red
<input type="radio" name="color" value="green"> Green
<input type="radio" name="color" value="blue"> Blue
</fieldset>
<button onclick="removeRadio()">Remove radio</button>
</form>
<script>
function removeRadio() {
var radios = document.getElementsByName("color");
for (var i = 0; i < radios.length; i++) {
if (radios[i].checked) {
radios[i].parentNode.removeChild(radios[i]);
return;
}
}
alert("Please select a color to remove.");
}
</script>
在上面的代碼中,我們使用了removeChild()
方法移除了被選中的選項按鈕。在這個例子中,我們還使用了parentNode
屬性來獲取選項按鈕所在的 fieldset 元素。
總之,JavaScript 提供了豐富的 API 來處理表單和選項按鈕。使用這些 API,我們可以方便地檢查、添加和移除選項按鈕,并確保用戶在提交表單之前已經選擇了一個選項。