186 lines
6.7 KiB
JavaScript
186 lines
6.7 KiB
JavaScript
function checkid(it){
|
||
var ALP_STR = "ABCDEFGHJKLMNPQRSTUVXYWZIO";
|
||
var NUM_STR = "0123456789";
|
||
function CheckPID(it) {
|
||
var sMsg = "";
|
||
var sPID = it.value;
|
||
if (sPID == '') {
|
||
sMsg = "請輸入身分證字號";
|
||
} else if (sPID.length != 10) {
|
||
sMsg = "身分證字號長度應為 10 !";
|
||
} else {
|
||
sPID = sPID.toUpperCase().trim();
|
||
if (!chkPID_CHAR(sPID)) return;
|
||
|
||
var iChkNum = getPID_SUM(sPID);
|
||
|
||
if (iChkNum % 10 != 0) {
|
||
var iLastNum = sPID.substr(9, 1) * 1;
|
||
for (i = 0; i < 10; i++) {
|
||
var xRightAlpNum = iChkNum - iLastNum + i;
|
||
if ((xRightAlpNum % 10) == 0) {
|
||
sMsg = "身分證字號最後一個數應為:" + i;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (sMsg.length != 0) {
|
||
//alert(sMsg);
|
||
alert((I18n.locale != "en") ? "身分證字號錯誤" : "ID Number error");
|
||
it.select();
|
||
return false;
|
||
}else{
|
||
return true;
|
||
}
|
||
}
|
||
// 身分證字號檢查器 - 檢查合法字元
|
||
function chkPID_CHAR(sPID) {
|
||
var sMsg = "";
|
||
//sPID = trim(sPID.toUpperCase());
|
||
var iPIDLen = String(sPID).length;
|
||
|
||
var sChk = ALP_STR + NUM_STR;
|
||
for (i = 0; i < iPIDLen; i++) {
|
||
if (sChk.indexOf(sPID.substr(i, 1)) < 0) {
|
||
sMsg = "這個身分證字號含有不正確的字元!";
|
||
break;
|
||
}
|
||
}
|
||
|
||
if (sMsg.length == 0) {
|
||
if (ALP_STR.indexOf(sPID.substr(0, 1)) < 0) {
|
||
sMsg = "身分證字號第 1 碼應為英文字母(A~Z)。";
|
||
} else if ((sPID.substr(1, 1) != "1") && (sPID.substr(1, 1) != "2")) {
|
||
sMsg = "身分證字號第 2 碼應為數字(1~2)。";
|
||
} else {
|
||
for (var i = 2; i < iPIDLen; i++) {
|
||
if (NUM_STR.indexOf(sPID.substr(i, 1)) < 0) {
|
||
sMsg = "第 " + (i + 1) + " 碼應為數字(0~9)。";
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
if (sMsg.length != 0) {
|
||
//alert(sMsg);
|
||
alert((I18n.locale != "en") ? "身分證字號錯誤" : "ID Number error");
|
||
return false;
|
||
} else {
|
||
return true;
|
||
}
|
||
}
|
||
//身份證字號檢查器 - 累加檢查碼
|
||
function getPID_SUM(sPID) {
|
||
var iChkNum = 0;
|
||
|
||
// 第 1 碼
|
||
iChkNum = ALP_STR.indexOf(sPID.substr(0, 1)) + 10;
|
||
iChkNum = Math.floor(iChkNum / 10) + (iChkNum % 10 * 9);
|
||
|
||
// 第 2 - 9 碼
|
||
for (var i = 1; i < sPID.length - 1; i++) {
|
||
iChkNum += sPID.substr(i, 1) * (9 - i);
|
||
}
|
||
|
||
// 第 10 碼
|
||
iChkNum += sPID.substr(9, 1) * 1;
|
||
|
||
return iChkNum;
|
||
}
|
||
return CheckPID(it);
|
||
};
|
||
$(document).ready(function(){
|
||
$('.class_setting_block input[type="reset"]').off('click').on('click',function(){
|
||
$('.col_input').val('');
|
||
});
|
||
$('.class_setting_block input[type="submit"]').off('click').on('click',function(){
|
||
var class_number_range = [];
|
||
class_number_range.push(Number($('.class_setting_block .col_input[name="MinClass"]').val()));
|
||
class_number_range.push(Number($('.class_setting_block .col_input[name="MaxClass"]').val()));
|
||
var enrollment_available = $('.class_setting_block .col_input#Person').val();
|
||
class_number_range.sort();
|
||
var params_array = (window.location.search.substring(1)=="") ? [] : window.location.search.substring(1).split('&').map(function(el){return el.split('=')});
|
||
var params = {};
|
||
params_array.forEach(function(el){params[el[0]] = el[1]});
|
||
var params_to_send = {'type':'class_setting','class_number_range':class_number_range,'enrollment_available':enrollment_available};
|
||
params_to_send = Object.assign(params,params_to_send);
|
||
var post_data = $.post('/admin/olympiamanagements/update_school_data',params_to_send);
|
||
post_data.done(function(){
|
||
window.location.search="";
|
||
});
|
||
});
|
||
$('.fieldset_block input[type="submit"]').click(function(){
|
||
$el = $('.fieldset_block li.required');
|
||
for(var i = 0; i< $el.length ; i++){
|
||
if($el.eq(i).attr('for') == "StudentFile"){
|
||
if($el.eq(i).siblings('.col_r').find('img').length != 0){
|
||
continue;
|
||
}};
|
||
if($el.eq(i).siblings('.col_r').find('.required').val() == ""){
|
||
$el.eq(i).addClass('errFld');
|
||
if($el.eq(i).siblings('.col_r').find('.errMsg').length == 0)
|
||
$el.eq(i).siblings('.col_r').append('<div id="SchoolName-E" class="errMsg"> '+((I18n.locale == "en") ? 'Required field': '必填欄位')+'</div>');
|
||
}else{
|
||
$el.eq(i).removeClass('errFld');
|
||
$el.eq(i).siblings('.col_r').find('.errMsg').remove();
|
||
};
|
||
};
|
||
if($('.fieldset_block .required.errFld').length != 0)
|
||
return false;
|
||
else
|
||
if($('#StudentIDNO').length != 0)
|
||
try{return checkid(document.getElementById('StudentIDNO'));
|
||
}catch(e){console.log(e);return false;};
|
||
})
|
||
var $el = $('.fieldset_block select');
|
||
for(var i = 0 ; i < $el.length ; i++)
|
||
if($el.eq(i).attr('value') != "" && $el.eq(i).attr('value') != undefined)
|
||
$el.eq(i).find('option[value='+$el.eq(i).attr('value')+']').attr('selected','selected');
|
||
try{CKEDITOR.replaceAll()}catch(e){console.log(e)};
|
||
if($('#StudentIdentity').val() != '1' && $('#StudentIdentity').val() != '2')
|
||
$('#StudentFile').removeClass('required');
|
||
$('#StudentIdentity').click(function(){
|
||
if(this.value != '1' && this.value != '2'){
|
||
$('#StudentFile').removeClass('required');
|
||
}else{
|
||
$('#StudentFile').addClass('required');
|
||
};
|
||
$el = $('.fieldset_block li[for="StudentFile"]');
|
||
if($el.siblings('.col_r').find('.required').val() == ""){
|
||
$el.addClass('errFld');
|
||
if($el.siblings('.col_r').find('.errMsg').length == 0)
|
||
$el.siblings('.col_r').append('<div id="SchoolName-E" class="errMsg"> '+((I18n.locale == "en") ? 'Required field': '必填欄位')+'</div>');
|
||
}else{
|
||
$el.removeClass('errFld');
|
||
$el.siblings('.col_r').find('.errMsg').remove();
|
||
};
|
||
});
|
||
$('.fieldset_block input').on('input',function(){
|
||
if($(this).val() != ''){
|
||
$(this).parent().siblings('.col').removeClass('errFld');
|
||
$(this).siblings('.errMsg').remove();
|
||
};
|
||
});
|
||
$('.fieldset_block select').on('input',function(){
|
||
if($(this).val() != ''){
|
||
$(this).parent().siblings('.col').removeClass('errFld');
|
||
$(this).siblings('.errMsg').remove();
|
||
};
|
||
});
|
||
$('#StudentFile').on('input',function(){
|
||
if($(this).val() != ''){
|
||
$('[for="StudentFile"]').removeClass('errFld');
|
||
$('[for="StudentFile"]').siblings('.col_r').find('.errMsg').remove();
|
||
};
|
||
});
|
||
$('[data-dismiss="fileupload"]').click(function(){
|
||
if($('#StudentFile').hasClass('required')){
|
||
$el = $('.fieldset_block li[for="StudentFile"]');
|
||
$el.addClass('errFld');
|
||
if($el.siblings('.col_r').find('.errMsg').length == 0)
|
||
$el.siblings('.col_r').append('<div id="SchoolName-E" class="errMsg"> '+((I18n.locale == "en") ? 'Required field': '必填欄位')+'</div>');
|
||
};
|
||
});
|
||
}); |