[英]Pass a flag from one event to another in Jquery
如果我在一個id為“input_id”的表單中有一個文本輸入字段。 在加載頁面期間,我將使用現有數據填充該字段
在使用id“form_submit”按鈕提交表單時,我想確定該字段是否已被更改。 因此,我將采取與變更有關的特定行動。
In Jquery:
$("#input_id").on("keyup",function(){
//set a flag to indicate the field is altered
})
$("#form_submit").on("click",function(){
//check flag to see if #input_id is changed
}
那么如何在一個事件中設置一個標志,並在不使用全局變量的情況下在另一個事件中讀取它?
提前致謝
一種選擇是使用表單數據屬性:
$("#input_id").on("keyup",function(){
//set a flag to indicate the field is altered
$(this).closest('form').data('changed',true);
})
$("#form_submit").on("click",function(){
//check flag to see if #input_id is changed
console.log($(this).closest('form').data('changed'));
}
那么為什么不只是一個上限范圍旗?
var flag = false;
$("#input_id").on("keyup",function(){
// check stuff ...
flag = true;
});
$("#form_submit").on("click",function(){
if (flag) {
} else {
}
}
您可以使用.data()
來實現此目的,
var submit = $("#form_submit");
$("#input_id").on("keyup",function(){
submit.data("changed",true);
});
submit.on("click",function(){
if($(this).data("changed")){ //do something }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.