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

I want to check the content of textarea must contains previous inputs' words using javascript

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

谢谢。

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

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

然后您可以像检查其他任何东西一样检查它 JavaScript 并提交 运行 测试

这将根据您定义的值检查在每个 keyup 事件中输入的文本值。如果 returns 为真,提交 属性 将不会被禁用,否则会被禁用。

$('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/

我想我明白你想要完成的是什么:你希望用户使用先前从输入字段中检索到的 35 个单词的输入,但也让用户可以选择添加更多.此添加是可选的。

看看here

说清楚

输入:1、2、3 |文本区域:1、2、3 | returns 真

输入:1、2、3 |文本区域:1、2、3、4 | returns 真

输入:1、2、3 |文本区域:1、3、2 | returns 真

输入:1、2、3 |文本区域:3、2、1 | returns 真

输入:1、2、3 |文本区域:2、2、1 | returns假

输入:1、2、3 |文本区域:1、2 | returns假

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!");
    }
});