如何使用 JavaScript 验证 HTML 中的“选择”标签
How to validate "Select" tag in HTML using JavaScript
<form action="#" class="group" method="post" onsubmit="return checkforblank()">
<legend><span class="number">1</span>Departing & Arriving</legend>
<fielset class="col-sm-6">
<label for="FDestination">From</label>
<select name="Location" id="Location">
<option value="Please Select">Please Select</option>
<option value="Newport">Newport</option>
<option value="Mahdi">Mahdi</option>
<option value="Cardiff">Cardiff</option>
<option value="Cilo">Cilo is</option>
</select>
</fieldset>
</form>
<script>
function checkforblank(){
if (document.getElementsByID('Location').value== "Please Select") {
alert('Please enter first name');
document.getElementById('Location').style.borderColor = "red";
return false;
}
}
</script>
当用户从字段集中选择"请选择"选项时,如何显示错误?
当用户从字段集中选择"请选择"选项时,如何显示错误?
您已经在验证表单提交,现在您只需为选择onchange
添加相同的验证功能:
function checkforblank() {
var location = document.getElementById('Location');
var invalid = location.value == "Please Select";
if (invalid) {
alert('Please enter first name');
location.className = 'error';
}
else {
location.className = '';
}
return !invalid;
}
.error {border: 1px red solid;}
<form action="#" class="group" method="post" onsubmit="return checkforblank()">
<legend><span class="number">1</span>Departing & Arriving</legend>
<fielset class="col-sm-6">
<label for="FDestination">From</label>
<select name="Location" id="Location" onchange="checkforblank()">
<option value="Please Select">Please Select</option>
<option value="Newport">Newport</option>
<option value="Mahdi">Mahdi</option>
<option value="Cardiff">Cardiff</option>
<option value="Cilo">Cilo is</option>
</select>
</fieldset>
<button>Save</button>
</form>
您不会在演示中看到警报,因为它在代码段沙盒 iframe :(中是不允许
为什么不使用required
关键字?需要HTML5,但不需要依赖JS。有关其他信息,请参阅文档。
:required:focus {
box-shadow: 0 0 6px rgba(255,0,0,0.5);
border: 1px red solid;
outline: 0;
}
<form action="#" class="group" method="post" onsubmit="return checkforblank()">
<legend><span class="number">1</span>Departing & Arriving</legend>
<fielset class="col-sm-6">
<label for="FDestination">From</label>
<select name="Location" id="Location" required>
<option value="">Please select</option>
<option value="Newport">Newport</option>
<option value="Mahdi">Mahdi</option>
<option value="Cardiff">Cardiff</option>
<option value="Cilo">Cilo is</option>
</select>
</fieldset>
<input type="submit" value="Submit">
</form>
在注意到这并非在所有浏览器或所有输入上都运行良好后,我对许多输入类型进行了摆弄(但并非所有 HTML5 类型都包括在内(。这样,您可以检查 required
属性是否在您需要的浏览器中工作。目前,JS可能确实是完全跨浏览器安全的最佳选择。
function validateForm() {
if (document.getElementById('Location').value== "Please Select")
{
alert('Please enter first name');
document.getElementById('Location').style.borderColor = "red";
return false;
}
}
<form name="myForm" action="#"
onsubmit="return validateForm()" method="post">
<select name="Location" id = "Location" >
<option value = "Please Select" >Please Select </option>
<option value="Newport">Newport</option>
<option value="Mahdi">Mahdi</option>
<option value="Cardiff">Cardiff</option>
<option value="Cilo">Cilo is </option>
</select>
<input type="submit" value="Click">
</form>
这是一个纯 HTML 解决方案:
使您的选择标签成为必需的,选中、禁用第一个选项,并添加 value 属性并将其留空:( value=""
(,如果他们不选择任何内容,则会抛出前端验证错误,要求他们更改值,因为它是空的。
<select required name="Location" id="Location">
<option disabled selected value="">Please Select</option>
<option value="Newport">Newport</option>
<option value="Mahdi">Mahdi</option>
<option value="Cardiff">Cardiff</option>
<option value="Cilo">Cilo is</option>
</select>
相关文章:
- 你能从另一个页面中选择标签吗
- 调用函数单击选择标签中的选项
- 使用 jQuery 从选择标签中抓取文本
- 使用 jQuery(移动)更新多个选择标签
- 如何使用 JavaScriptJQuery 将隐藏输入标签的值与选择标签的选定选项的值进行设置
- jQuery Tag-It – 如何在选择标签时自动显示自动完成列表
- ng-model 绑定到选择标签生成的空默认值
- 单击“选择标签”中的“选项”时创建,然后选中“值”创建输入
- 选择2个选择标签后启用按钮
- 如何使用 queryselectorAll() 选择
- 如何从“选择”标签中获取所选项目
- 如何通过 innerHTML 设置选择标签选项
- 如何自动递增选择标签中的日期
- 轨道:填充表单中选择标签的输入
- 选择标签似乎搞砸了我的 CSS
- 在下拉列表中显示保存的数据 - html 选择标签
- AngularJS:在不修改ng模型的情况下获取选择标签
- 没有“选择”标签的组合框实现
- 如何使用 JavaScript 访问表单选择标签的 value 属性的内容或其内部文本
- 如何使用 JavaScript 或 CSS 更改选择标签中的选项宽度