为什么ID在表单中有两个选择框时不被接受
Why ID is not taking while two selection boxes in the form?
我在下面的表单列表中有两个选择框,它们都有不同的id"language"answers"time"。现在的问题是我的脚本没有正确显示错误。我把边框颜色显示错误。有人能帮我吗?
<div class="field_wrap">
<select name="language" id="language" onblur="validateSelect(language)" class="select_promo">
<option value="0" disabled selected>Prefered Language</option>
<option value="1">English</option>
<option value="2">Hindi</option>
<option value="3">Tamil</option>
<option value="4">Malayalam</option>
</select></div>
<div class="field_wrap">
<select name="time" id="time" onblur="validateSelect(time)" class="select_promo">
<option value="0" disabled selected>Time to Contact</option>
<option value="1">8 - 10 AM</option>
<option value="2">10 - 12 AM</option>
<option value="3">12 - 2 PM</option>
<option value="4">2 - 5 PM</option>
<option value="5">5 - 8 PM</option>
</select></div>
</div>
我的脚本:
function validateSelect(language) {
var myValue = document.getElementById('language').value;
if(myValue > 0) {
document.getElementById('language').style.borderColor ='#80c75a';
document.getElementById('languageError').style.display = "none";
return true;
} else {
document.getElementById('language').style.borderColor ='#e35152';
return false;
}
}
function validateSelect(time) {
var myValue = document.getElementById('time').value;
if(myValue > 0) {
document.getElementById('time').style.borderColor ='#80c75a';
document.getElementById('timeError').style.display = "none";
return true;
} else {
document.getElementById('time').style.borderColor ='#e35152';
return false;
}
}
// Validate Select
if (!validateSelect(document.getElementById('language'))) {
document.getElementById('languageError').style.display = "block";
error++;
}
if (!validateSelect(document.getElementById('time'))) {
document.getElementById('timeError').style.display = "block";
error++;
}
您的代码中有一些错误:
- 您声明函数
validateSelect
两次 - 在那里传递一个元素,而函数中需要一个元素id
- 选择中的
onblur
事件处理程序应接受引号中的参数
以下是您的javascript应该是什么样子:
function validateSelect(id){
var el = document.getElementById(id),
myValue = el.value;
if(myValue > 0){
el.style.borderColor ='#80c75a';
document.getElementById(id+'Error').style.display = "none";
return true;
}else{
el.style.borderColor ='#e35152';
return false;
}
}
// Validate Select
validateSelect('time');
validateSelect('language');
你的onblur应该看起来像:
onblur="validateSelect('language')"
和onblur="validateSelect('time')"
检查小提琴:JS fiddle
相关文章:
- 选择两个单选按钮
- 只选择两个选择器中的一个
- JQuery选择:两个属性's值不相等
- Regex/Javascript;否定地选择两个字符的重复
- 如何选择两个元素的文本与内容可编辑 = true
- 如何使用日期选择器选择两个日期的范围
- 懒惰.js如何选择两个字段的不同(uniq)
- 如何在 JSON 字符串中选择两个测试对象并将它们映射到我的接口
- 如何选择两个h2之间的所有元素
- 如何使用createTextRange在两个不同的文本区域中选择两个单词
- 如何在所有匹配的元素中只选择两个元素
- Regex选择两个字符串之间的所有字符串,但不选择其中一个字符串
- 在选择两个日期时传递日期范围
- 使用PHP从MySql数据库中选择两个日期之间的记录
- Jquery一旦从选择下拉列表中选择两个选项运行代码
- 如何让min()选择两个数字
- 获取两个日期之间的差值,如果我选择两个日期作为当前日期,则显示计数为1
- 当选择两个引导按钮时触发函数(Javascript)
- 在一个
中选择两个 's的innerHTML - 选择两个具有相同名称、id、值的单选按钮