|
|
|
ช่วยอธิบาย JavaScript popup Login ด้านล่างนี้ให้หน่อยครับ ผมมีข้อสงสัย |
|
|
|
|
|
|
|
Code (JavaScript)
// Apprise 1.5 by Daniel Raftery
// http://thrivingkings.com/apprise
//
// Button text added by Adam Bezulski
//
function apprise(string, args, callback)
{
var default_args =
{
'confirm' : false, // Ok and Cancel buttons
'verify' : false, // Yes and No buttons
'input' : false, // Text input (can be true or string for default text)
'animate' : false, // Groovy animation (can true or number, default is 400)
'textOk' : 'Ok', // Ok button default text
'textCancel' : 'Cancel', // Cancel button default text
'textYes' : 'Yes', // Yes button default text
'textNo' : 'No' // No button default text
}
if(args)
{
for(var index in default_args)
{ if(typeof args[index] == "undefined") args[index] = default_args[index]; }
}
var aHeight = $(document).height();
var aWidth = $(document).width();
$('body').append('<div class="appriseOverlay" id="aOverlay"></div>');
$('.appriseOverlay').css('height', aHeight).css('width', aWidth).fadeIn(100);
$('body').append('<div class="appriseOuter"></div>');
$('.appriseOuter').append('<div class="appriseInner"></div>');
$('.appriseInner').append(string);
$('.appriseOuter').css("left", ( $(window).width() - $('.appriseOuter').width() ) / 2+$(window).scrollLeft() + "px");
if(args)
{
if(args['animate'])
{
var aniSpeed = args['animate'];
if(isNaN(aniSpeed)) { aniSpeed = 400; }
$('.appriseOuter').css('top', '-200px').show().animate({top:"100px"}, aniSpeed);
}
else
{ $('.appriseOuter').css('top', '100px').fadeIn(200); }
}
else
{ $('.appriseOuter').css('top', '100px').fadeIn(200); }
if(args)
{
if(args['input'])
{
if(typeof(args['input'])=='string')
{
$('.appriseInner').append('<div class="aInput"><input type="text" class="aTextbox" t="aTextbox1" id="Text1" name="Text1" value="'+args['input']+'" /></div>');
$('.appriseInner').append('<div class="aInput"><input type="password" class="aTextbox" t="aTextbox2" id="Text2" name="Text2" value="PassWord" /></div>');
}
$('.aTextbox1').focus();
$('.aTextbox2').focus();
}
}
$('.appriseInner').append('<div class="aButtons"></div>');
if(args)
{
if(args['confirm'] || args['input'])
{
$('.aButtons').append('<button value="ok">'+args['textOk']+'</button>');
$('.aButtons').append('<button value="cancel">'+args['textCancel']+'</button>');
}
else if(args['verify'])
{
$('.aButtons').append('<button value="ok">'+args['textYes']+'</button>');
$('.aButtons').append('<button value="cancel">'+args['textNo']+'</button>');
}
else
{ $('.aButtons').append('<button value="ok">'+args['textOk']+'</button>'); }
}
else
{ $('.aButtons').append('<button value="ok">Ok</button>'); }
$(document).keydown(function(e)
{
if($('.appriseOverlay').is(':visible'))
{
if(e.keyCode == 13)
{ $('.aButtons > button[value="ok"]').click(); }
if(e.keyCode == 27)
{ $('.aButtons > button[value="cancel"]').click(); }
}
});
var aText = $('.aTextbox').val();
if(!aText) { aText = false; }
$('.aTextbox').keyup(function()
{ aText = $(this).val(); });
$('.aButtons > button').click(function()
{
$('.appriseOverlay').remove();
$('.appriseOuter').remove();
if(callback)
{
var wButton = $(this).attr("value");
if(wButton=='ok')
{
if(args)
{
if(args['input'])
{ callback(aText); }
else
{ callback(true); }
}
else
{ callback(true); }
}
else if(wButton=='cancel')
{ callback(false); }
}
});
}
ข้อ 1) function apprise(string, args, callback)
callback มันคือตัวแปร หรือ function ทำไมมันถึงใส่ค่าลงไปได้ เช่น callback(aText);
ข้อ 2) ถ้าผมต้องการ return ค่าออกจาก function apprise นี้ เพื่อนำค่าไปตรวจสอบกับฐานข้อมูลว่าการ Login ถูกต้องหรือไม่ ผมจะ return อย่างไร เมื่อตอนที่ผมเรียกใช้ function นี้ แบบนี้ window.onload=apprise('Please Login to IST ISO',{'input':'User Name'}); หรือว่ามีวิธีอื่นที่จะสามารถตรวจสอบใน Script นี้ได้เลย
ข้อ 3) ถ้าการ Login ไม่ผ่านให้ทำการเรียก Script นี้ไปเรื่อยๆจนกว่าจะ Login ผ่าน ผมจะเขียนอย่างไร
Tag : MySQL, JavaScript, JSP, Windows
|
ประวัติการแก้ไข 2012-07-20 16:05:30
|
|
|
|
|
Date :
2012-07-20 15:58:27 |
By :
MaTaDoRcpe |
View :
1557 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
callback น่าจะเป็น Object น่ะครับ
|
|
|
|
|
Date :
2012-07-23 06:42:27 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|