NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name family_autosplit_num
// @namespace http://mesak.tw
// @version 1.1
// @description simple to key in number
// @author Mesak
// @match https://www.family.com.tw/marketing/LotteryEvent/attend.aspx?id=*
// @grant none
// @license MIT
// ==/UserScript==
console.log('inclode family_autosplit_num');
(function() {
'use strict';
let $ = window.$;
let output = '';
function addCssLink(url){
var link = window.document.createElement('link');
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = url;
document.getElementsByTagName("head")[0].appendChild(link);
}
function setValue( $td , value){
let v = split_count(value);
$.each( v , function(i,n){
$td.find('input').eq(i).val(n);
})
}
function split_count(t){
let result;
if( t.length == 16 )
{
result = t.match(/(\w{4})(\w{4})(\w{4})(\w{4})/);
}else{
result = t.match(/(\w{5})(\w{5})(\w{5})(\w{5})/);
}
result.shift();
return result;
}
if( $('input[id^="ctl00_ContentPlaceHolder1_ctl00_Num"]').length )
{
let tds = [];
addCssLink('https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css');
$('input[id^="ctl00_ContentPlaceHolder1_ctl00_Num"][id$="_1"]').each(function(i,n){
tds.push( $(n).parent() );
});
output = '<hr><div class="container">'+
'<div class="row">'+
'<div class="col-sm-10">'+
'<div class="input-group mb-3"><div class="input-group-prepend"><span class="input-group-text">請輸入完整兌獎<br>編號,輸入完畢按<br>填入即可自動轉換</span></div>'+
'<textarea id="txt-autokeyarea" class="form-control" rows="6"></textarea>'+
'</div>'+
'</div>'+
'<div class="col-sm-2 align-self-center">'+
'<button type="button" id="btn-keyarea" class="btn btn-block btn-primary">填入</button>'+
'</div>'+
'</div>'+
'</div>'
$('div[id$="ShowPanel"]').append(output);
$('#btn-keyarea').click(function(e){
let vs = $('#txt-autokeyarea').val().toUpperCase();
$('#txt-autokeyarea').val("");
$.each( vs.split('\n') , function(i,n){
for(let x in tds){
if( !$(tds[x]).data('value') )
{
$(tds[x]).data('value',n);
setValue( $(tds[x]) , n)
break;
}
}
});
})
}
})();