我有一个带有javascript验证的表单。有3个下拉(选择)字段带有问题,3个输入字段带有答案。
有没有办法验证选择字段,以便它们没有相同的问题?
这是我的代码
<script type="text/javascript">
var errmsg;
function validate()
{
var textA= document.getElementById("text1");
var textB= document.getElementById("text2");
var textC = document.getElementById("text3");
var textD = document.getElementById("text4");
var textE = document.getElementById("text5");
var textF = document.getElementById("text6");
var txt1 = document.getElementById("text1").value;
var txt2 = document.getElementById("text2").value;
var txt3 = document.getElementById("text3").value;
var txt4 = document.getElementById("text4").value;
var txt5 = document.getElementById("text5").value;
var txt6 = document.getElementById("text6").value;
var txt1_len = txt1.length;
var txt2_len = txt2.length;
var txt3_len = txt3.length;
var txt4_len = txt4.length;
var txt5_len = txt5.length;
var txt6_len = txt6.length;
if(txt1_len == '')
{
errmsg = "Please select a question";
document.getElementById("ermsg").innerHTML = errmsg;
textA.focus();
return false;
}
else if(txt2_len == 0 || txt2_len > 23 || txt2_len < 3)
{
errmsg = "Invalid Answer";
document.getElementById("ermsg").innerHTML = errmsg;
textB.focus();
return false;
}
else if(txt3_len == '')
{
errmsg = "Please select a question";
document.getElementById("ermsg").innerHTML = errmsg;
textC.focus();
return false;
}
else if(txt4_len == 0 || txt4_len > 23 || txt4_len < 3)
{
errmsg = "Invalid Answer";
document.getElementById("ermsg").innerHTML = errmsg;
textD.focus();
return false;
}
else if(txt5_len == '')
{
errmsg = "Please select a question";
document.getElementById("ermsg").innerHTML = errmsg;
textE.focus();
return false;
}
else if(txt6_len == 0 || txt6_len > 23 || txt6_len < 3)
{
errmsg = "Invalid Answer";
document.getElementById("ermsg").innerHTML = errmsg;
textF.focus();
return false;
}
else
{
return true;
}
return false;
}
</script>
然后是html代码
答案 0 :(得分:1)
你应该比较每个ddl里面的文字, 我添加以下条件:
$('#text1 option:selected').text() === $('#text2 option:selected').text()
工作fiddel:here
答案 1 :(得分:0)
在更改第1个下拉菜单时 - 禁用/删除其他下拉菜单中的特定问题。
$('#text1').change(function(){
$('#text2 option[value='+$('#text1').val() +']').attr('disabled',true);
$('#text3 option[value='+$('#text1').val() +']').attr('disabled',true);
});
这样的事情会起作用。