我想查看textarea的内容必须包含以前的输入'使用javascript的单词

时间:2015-06-13 19:37:18

标签: javascript jquery html input textarea

是否可以检查textarea的内容必须包含以前的输入'所有单词使用javascript或jquery?如果不包含所有单词,则textarea的值无效或不会提交。 请尽快回复我。

感谢。

3 个答案:

答案 0 :(得分:0)

在JavaScript中,您可以通过访问值来访问textareas内部文本的值。

例如:document.getElementById("myTextarea").value = "Fifth Avenue, New York City";

然后您可以像检查任何其他JavaScript一样检查这一点,并在提交时运行测试

答案 1 :(得分:0)

这将根据您定义的值检查在每个keyup事件上输入的文本的值。如果返回true,则不会禁用submit属性,否则将禁用。

$('input[type="submit"]').prop('disabled', true);
    $("textarea").on("keyup", function(){
    if($(this).val() == 'value to check against'){
       $('input[type="submit"]').prop('disabled' , false);
       }
    else{
       $('input[type="submit"]').prop('disabled' , true);
       }
    })

https://jsfiddle.net/bgdogf2c/

如果检查数组中的项目:

$('input[type="submit"]').prop('disabled', true);
    $("textarea").on("keyup", function(){
    if($.inArray($(this).val(), [ "one", "two", "three"] ) != -1){
       $('input[type="submit"]').prop('disabled' , false);
    }else{
       $('input[type="submit"]').prop('disabled' , true);
       }
    })

https://jsfiddle.net/yz2q6zga/1/

答案 2 :(得分:0)

我想我明白你在做什么并试图完成:你希望用户利用先前给定的35个单词的输入,这些输入是从输入字段中检索的,但也让用户可以选择添加更多。此添加是可选的。

查看here

要清楚

输入:1,2,3 | textarea:1,2,3 |返回true

输入:1,2,3 | textarea:1,2,3,4 |返回true

输入:1,2,3 | textarea:1,3,2 |返回true

输入:1,2,3 | textarea:3,2,1 |返回true

输入:1,2,3 | textarea:2,2,1 |返回false

输入:1,2,3 | textarea:1,2 |返回false

<强> JS

$("#submit").prop("disabled", true);

$(".input").on("keyup", function () {
    var input1 = document.getElementById("input1").value;
    var input2 = document.getElementById("input2").value;
    var input3 = document.getElementById("input3").value;
    var finalinput1 = input1 + " " + input2 + " " + input3;
    var finalinput2 = input1 + " " + input3 + " " + input2;
    var finalinput3 = input2 + " " + input1 + " " + input3;
    var finalinput4 = input2 + " " + input3 + " " + input1;
    var finalinput5 = input3 + " " + input1 + " " + input2;
    var finalinput6 = input3 + " " + input2 + " " + input1;
});



$("#area").on("keyup", function () {
    var content2 = $("#area").val();
    var input1 = document.getElementById("input1").value;
    var input2 = document.getElementById("input2").value;
    var input3 = document.getElementById("input3").value;
    var finalinput1 = input1 + " " + input2 + " " + input3;
    var finalinput2 = input1 + " " + input3 + " " + input2;
    var finalinput3 = input2 + " " + input1 + " " + input3;
    var finalinput4 = input2 + " " + input3 + " " + input1;
    var finalinput5 = input3 + " " + input1 + " " + input2;
    var finalinput6 = input3 + " " + input2 + " " + input1;
    if (content2.indexOf(finalinput1) >= 0 || content2.indexOf(finalinput2) >= 0 || content2.indexOf(finalinput3) >= 0 || content2.indexOf(finalinput4) >= 0 || content2.indexOf(finalinput5) >= 0 || content2.indexOf(finalinput6) >= 0) {
        $("#submit").prop("disabled", false);
    } else {
        $("#submit").prop("disabled", true);
    }
});

$("#submit").click(function () {
    var content2 = $("#area").val();
    var input1 = document.getElementById("input1").value;
    var input2 = document.getElementById("input2").value;
    var input3 = document.getElementById("input3").value;
    var finalinput1 = input1 + " " + input2 + " " + input3;
    var finalinput2 = input1 + " " + input3 + " " + input2;
    var finalinput3 = input2 + " " + input1 + " " + input3;
    var finalinput4 = input2 + " " + input3 + " " + input1;
    var finalinput5 = input3 + " " + input1 + " " + input2;
    var finalinput6 = input3 + " " + input2 + " " + input1;
    if (content2.indexOf(finalinput1) >= 0 || content2.indexOf(finalinput2) >= 0 || content2.indexOf(finalinput3) >= 0 || content2.indexOf(finalinput4) >= 0 || content2.indexOf(finalinput5) >= 0 || content2.indexOf(finalinput6) >= 0) {
        $("#output").text("Succes!");
    } else {
        $("#output").text("Values are not the same!");
    }
});