[必填] 字段在下拉框上不起作用的解决方法
Workaround for [required] fields not working on dropdown boxes
我正在使用 Bootstrap 3 来验证表单中的字段,并且我发现使用某些浏览器,特别是 iOS Safari,我的 [必需] 表单项未被验证。为了弥补这一点,我制作了一个脚本来检查元素是否已标记为必需,如果该字段的值为",则会出现警报。它适用于文本框字段,但由于某种原因,它似乎没有选中下拉框。我在所有下拉框中都使用了一个占位符,值为 '' ,所以应该看到这些没有正确填写。
我的脚本在这里
$("form").submit(function(e) {
var mobile = "<?php echo $_SESSION['ads']; ?>";
var ref = $(this).find("[required]");
if(mobile == 0){
$(ref).each(function(){
if ( $(this).val() == '' )
{
alert("Required field should not be blank.");
$(this).focus();
e.preventDefault();
return false;
}
});
}return true;
});
这是我的一个表单示例:
<div class="form-group required">
<label for="donationType">Type</label>
<select class="form-control" name="donationType" id="donationType" style="min-width: 140px;" required>
<option value="" disabled selected>-</option>
<option>Item</option>
<option>Mileage</option>
<option>Money</option>
<option>Time</option>
</select>
</div>
对此的任何见解将不胜感激。 或者在不支持正常引导验证的浏览器上进行验证的任何其他方法。
通过添加
$(this).val() == null ||
它在 Safari 中也对我有用:
$("form").submit(function(e) {
var mobile = "0";
var ref = $(this).find("[required]");
console.log(ref);
if(mobile == 0){
console.log(0);
$(ref).each(function(){
if ( $(this).val() == null || $(this).val() == '' )
{
alert("Required field should not be blank.");
$(this).focus();
e.preventDefault();
return false;
}
});
}
return true;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<div class="form-group required">
<label for="donationType">Type</label>
<select class="form-control" name="donationType" id="donationType" style="min-width: 140px;" required>
<option value="" disabled selected>-</option>
<option>Item</option>
<option>Mileage</option>
<option>Money</option>
<option>Time</option>
</select>
</div>
<input type="submit" value="submit"/>
</form>
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 有人能帮我理解为什么这个JavaScript代码赢得'不起作用,以及我如何解决它
- PHP 强制下载并刷新解决方案不起作用
- TypeError:$(..).higharts不是函数-现有解决方案不起作用-Yeoman生成器存在问题
- :包含不区分大小写的解决方案在替换文本以突出显示时不起作用
- 嵌套文档.writes和第三方广告在IE中不起作用!!!!任何安全的解决方法
- Jquery 选项卡在 Jcarousel 中不起作用.我该如何解决这个问题
- 需要 document.getElementById 的解决方法,以便在多个 ID 可能性之间循环.类不起作用
- [必填] 字段在下拉框上不起作用的解决方法
- 我的拖放功能解决方案在firefox中不起作用
- each()在IE8上不起作用,并给了我一个“;期望应用数组或参数对象”;.如何解决
- D3js响应堆叠条形图-其他主题解决方案不起作用
- 我的angularJS文件上传不起作用.它显示错误的请求.如何解决?我正在使用javaspring
- 此代码不起作用,我该如何解决
- 为什么我尝试的解决方案不起作用?
- window.open两次不起作用(第二个窗口没有出现)-Blocker解决方法
- 该脚本在 IE 中不起作用.我该如何解决它
- 跨浏览器捕获回车键,我的解决方案不起作用