[問題] 在callback裡使用自身的method
目前寫了一隻plug要做表單驗證,
讓所有的表單都照這個方式來檢查和輸出訊息
不過總是會有一些比較特殊的規則需要自定規則
所以我想用callback的方式去執行
sample:
https://jsfiddle.net/JYHuang/q6oxk46j/1/
(function($){
$.fn.validation = function(options) {
// 參數
var $option = $.extend({
Valid : true,
CheckList : [],
callback1 : null,
}, options);
var Act = {
// 把不符合的欄位加入訊息清單
add_Message : function(message, name){
$option.CheckList.push({
message: message,
element: $(this).find('[name='+name+']'),
})
},
// 顯示錯誤訊息
show_Message : function() {
if ($option.CheckList.length == 0 )
return true;
// show message
$option.CheckList = [];
},
};
$(this).on('submit',function(){
if (typeof $option.callback1 == 'function') {
$option.extValid.call(Act);
}
// 規則性的驗證
if (!$option.Valid){
Act.show_Message();
return false;
}
})
}
})(jQuery);
======= js in HTML ======
$("#form").Fvalidation({
callback1 : function(Act){
if( false ){
Act.push('不符合規則','FieldName');
},
.....略.....
});
可是HTML這邊的js執行起來,Act這個一直是undefined
可能是我對scope的東西了解不夠深。
請問要如何在callback裡,使用plugin本身的method呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.143.49.26
※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1481780467.A.152.html
※ 編輯: JYHuang (220.143.49.26), 12/15/2016 14:41:04
推
12/15 14:52, , 1F
12/15 14:52, 1F
推
12/16 04:27, , 2F
12/16 04:27, 2F
→
12/16 04:37, , 3F
12/16 04:37, 3F
→
12/16 04:37, , 4F
12/16 04:37, 4F
→
12/16 12:17, , 5F
12/16 12:17, 5F
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章