Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery在更改事件上重置文本框值_Javascript_Jquery - Fatal编程技术网

Javascript 使用jquery在更改事件上重置文本框值

Javascript 使用jquery在更改事件上重置文本框值,javascript,jquery,Javascript,Jquery,我有一个文本框,我正在输入更改事件中对其数据进行验证。 我正在检查文本字段中是否存在特定单词,如果存在此关键字,请继续,否则我将显示警报,我希望在此时重置该值 <input type="text" value="$name$" id="text_messageinput" /> 因此,当发生验证错误时,如何将值重置回原来的值呢。手动保存旧值,并使用此值重置值 $(“#text_messageinput”)。在('input',函数(){ var input_value=$

我有一个文本框,我正在输入更改事件中对其数据进行验证。 我正在检查文本字段中是否存在特定单词,如果存在此关键字,请继续,否则我将显示警报,我希望在此时重置该值

    <input type="text" value="$name$" id="text_messageinput" />

因此,当发生验证错误时,如何将值重置回原来的值呢。手动保存旧值,并使用此值重置值

$(“#text_messageinput”)。在('input',函数(){
var input_value=$(this.val();
if(输入_值){
var输入值_ok=真;
所选变量_name=$(“#chk_addname”)。为(“:选中”);
var text_input=$(“#text_messageinput”).val();
if(text_input.indexOf(“$name$”)====-1 | | text_input==”){
警报(“$name$应在消息中”);
输入_ok=假;
$(“#text_messageinput”).val($(“#text_messageinput”).attr('data');
}
其他的
{
$(“#text_messageinput”).attr('data',text_input);
}
}
});


是否只想禁用文本框编辑?@xzegga任何用户都不能编辑文本框内容,但不能编辑关键字。Rest all部分是可编辑的检查这个答案:这是我正在寻找的东西,但在我的情况下,值有时不会重置。它会显示错误警报,但不会重置为旧状态。您可以在JSFIDLE或堆栈片段中共享代码。我去看看
    $("#text_messageinput").on('input', function () {
        var input_value = $(this).val();
        if (input_value) {
            var inputs_ok = true;
            var selected_name = $("#chk_addname").is(":checked");
            if (selected_name == true) {
                var text_input = $("#text_messageinput").val();
                if (text_input.indexOf("$name$") === -1) {
                    alert("$name$ should be in message");
                    inputs_ok = false;
                    //i have to reset textbox value to prev value
                }
            }
        }
    });