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

标签 javascript jquery

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

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

输入框将加载值$name$,如果用户尝试编辑这部分文本,我必须阻止它 为此,我尝试了这段代码

    $("#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
                }
            }
        }
    });

那么当验证错误发生时如何重置该值

最佳答案

这样的事情会有帮助。手动保存旧值并使用它来重置值。

$("#text_messageinput").on('input', function () {
        var input_value = $(this).val();
        if (input_value) {
            var inputs_ok = true;
            var selected_name = $("#chk_addname").is(":checked");

                var text_input = $("#text_messageinput").val();
          
                if (text_input.indexOf("$name$") === -1 || text_input == "") {
                    alert("$name$ should be in message");
                    inputs_ok = false;
                                    $("#text_messageinput").val($("#text_messageinput").attr('data'));
                }
                else
                {
                  $("#text_messageinput").attr('data',text_input);
                }
        }
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" data="$name$" value="$name$" id="text_messageinput" />

关于javascript - 使用 jquery 在更改事件上重置文本框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40814893/

相关文章:

javascript - 未捕获的类型错误 : Expecting a function in instanceof check

javascript - Vue 相当于 setTimeout?

javascript - 如何在 jQuery Datepicker 中设置日期范围并将其设置为默认值?

javascript - 如何在javascript中获取数组的数组

jquery - Bootstrap ajax 选项卡刷新当前

javascript - crafty.js 中 Sprite 上显示的背景

jquery:创建隐藏元素+slideToggle

javascript - 更改选择菜单内的文本颜色

javascript - 如何调用 range::-webkit-slider-runnable-track?

javascript - 在 div 内水平居中 li 溢出 :auto