javascript验证选择下拉列表

时间:2015-10-14 11:17:50

标签: javascript

我有一个带有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代码

https://jsfiddle.net/johnmathew21/ty999fkv/

2 个答案:

答案 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);
});

这样的事情会起作用。