我有一个文本框,我正在对输入更改事件的数据进行验证。 我正在检查文本字段中是否存在特定单词,如果此关键字存在,则继续进行,否则我将显示警报,我想在此时重置该值
<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
}
}
}
});
那么如何在发生验证错误时重置值
答案 0 :(得分:1)
这样的事情会有所帮助。手动保存旧值并使用此值重置值。
$("#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" />