2014年5月26日 星期一

國際匯款大PK

「為什麼銀行說會有看不見的手續費用?」
「台灣匯到澳洲的手續費要多少錢?」
「要怎麼匯學費到澳洲?」


諸如此類的問題,我想每個到澳洲打工渡假的新手背包都曾經碰過。
不論是在櫃台和櫃員雞同鴨講或是家人問什麼都答不出來,只聽到一堆艱澀的專有名詞等等,
都讓我們在這裡一起為大家解答,和比較全台灣20間銀行的匯款手續費,讓你不會花冤枉錢喔。: )


也就是說,如果我們是單純的匯款,第一銀行、彰化銀行、富邦銀行、玉山銀行、台灣銀行都是不錯的選擇。

然後讓我們來開始超熱門的Q&A,解答大家的疑問。

Q1.國際匯款到底有哪一些手續費用要支付?
A1.其實總共有三筆手續費要支付,分別是,匯出手續費中間銀行費用匯入手續費
     匯出手續費:你拿去做匯款的銀行收取的。(台灣的話就是上面這20間費用的比較可以參考)
     中間銀行:國際間的匯款一定會透過中間銀行,但中間銀行每一次匯款時都不一定會相同,每間收的費用也不一樣
                  所以銀行也無法知道會被收取多少,除非用全額匯達不然會直接從匯出款項裡扣款!
     匯入手續費:收款銀行所收取的,每一間銀行也都不同。(如果是澳洲Commonwealth收的是$20 )
     
Q2.什麼叫全額匯達??
A2.簡單說就是我要確保我匯的金額到達匯入行時一塊不差。所以我在匯出時就自行支付中間銀行的費用。
     但因為其實銀行無法肯定確切金額,通常會要我們支付絕對不會不夠的金額~也就是往往都付多了~
     所以除非必要,其實不需要全額匯達喔!!

Q3.那匯款會不會匯錯或匯不見?
A3. 匯款一定會需要的"銀行名稱、銀行地址、帳戶名稱、受款帳號、swift code"
     只要有一個字母錯了就會立刻被通知退匯~(通常走出銀行24小時內就會接到通知)
     所以匯錯的機率其實非常低的喔!!

Q4.匯款大概幾天會收到?
A4.大概3~5個工作天就會收到喔!!

Q5.匯學費的話有需要全額匯達嗎?
A5.的確正常來說學費是不應該有短缺的。但有鑑於近來許多學生碰到行員無法理解意思,
     加上全額匯達的手續費高昂,也不是全部銀行都可以做全額匯達,
     所以,可以不需要喔!!~只要單純匯出學費單上的金額,真的金額有短缺的話,到學校再補現金就好。
     PS.千千萬萬不要聽行員說而匯比學費更多的金額喔,之後請學校退款會很麻煩的!!

大家在填寫匯款單時要小心仔細的填寫喔!!如果在匯的當下有問題或不太確定的話,請直接打電話給我們喔!~: ))

reference : http://abcwithyou.pixnet.net/blog/post/45084650-%E5%9C%8B%E9%9A%9B%E5%8C%AF%E6%AC%BE%E5%A4%A7pk

2014年5月12日 星期一

Form Autocomplete and Remember Password with AngularJS

Recently a user complained about the log in form not saving the credentials.This is a common problem with AJAX and single-page applications. But I decided to get to the bottom with it.
The UserApp “dashboard” is built with the JavaScript framework AngularJS, and it doesn’t play along very well with the “save password” feature. These are the issues I addressed:
  1. The form cannot be dynamically inserted into the DOM.
  2. The form must perform an actual POST request.
  3. When the browser autofills the fields, the scope doesn’t get updated.
Firefox was easy, all it required was that the form had a name attribute.
name="login-form" ng-submit="login()"> id="login" name="login" type="text" ng-model="user.login"> id="password" name="password" type="password" ng-model="user.password">
firefox - remember password
But when Firefox autofills the fields the scope doesn’t get updated. So I googled and found some hacks for it. But for the scenario I tried to solve, this felt overkill. Because that was needed was the login and password form values after the form had been submitted. So no need for any fancy two-way bindings with some ugly hacks on top of it. Thats why I went with this solution. Good ol’ fashion DOM access (with jQuery):
$scope.login = function() {
    $scope.user = {
        login: $("#login").val(),
        password: $("#password").val()
    };
    ...
    return false;
};
Now it works in Firefox. What about Chrome?
Well, it turns out that Chrome only shows the save password dialog if the form submit actually passes, which would destroy our AJAX request.
Here’s a solution to the problem:
  • When the form get posted, do the AJAX request to authenticate the user in ng-submit and return with false to abort the form submission.
  • If it succeeds, save the session in a cookie and just post the form again and return with true this time.
  • When the page reloads it finds the session cookie and redirects the user to the home screen.
Sure, it makes the page to reload but it’s only once when logging in to the app. Make sure that the form gets posted to same page.
Solution? Add a hidden form to index.html and copy the other form’s parameters into it when it’s getting submitted.
I wrapped this up with a directive:
app.directive("ngLoginSubmit", function(){
return {
    restrict: "A",
    scope: {
        onSubmit: "=ngLoginSubmit"
    },
    link: function(scope, element, attrs) {
        $(element)[0].onsubmit = function() {
            $("#login-login").val($("#login", element).val());
            $("#login-password").val($("#password", element).val());

            scope.onSubmit(function() {
                $("#login-form")[0].submit();
            });
            return false;
        };
    }
};
});
Hidden form on index.html:
name="login-form" id="login-form" method="post" action="" style="display: none;"> name="login" id="login-login" type="text"> name="password" id="login-password" type="password">
Log in form template:
name="login-form" autocomplete="on" ng-login-submit="login"> id="login" name="login" type="text" autocomplete="on"> id="password" name="password" type="password" autocomplete="on">
The login controller:
$scope.login = function(submit) {
    $scope.user = {
        login: $("#login").val(),
        password: $("#password").val()
    };

    function ajaxCallback() {
        submit();
    }   

    return false;
};
re-post warning
Now it works fine, except that every time you press F5 the browser asks if you really want to resend the “form”. This is pretty annoying, so I fixed it by creating a new page, pre-login.html, and posted the hidden form to it instead. This page then redirects back to the app (index.html).
Everybody happy!

reference : http://timothy.userapp.io/post/63412334209/form-autocomplete-and-remember-password-with-angularjs

2014年5月4日 星期日

Result of toJSON() on a date is different between IE8 and IE9+

Prior to ES5, parsing of dates was entirely implementation dependent. IE 8 (and lower) won't parse the ISO 8601 format specified in ES5, so just parse it yourself:
// parse ISO format date like 2013-05-06T22:00:00.000Z
function dateFromISO(s) {
  s = s.split(/\D/);
  return new Date(Date.UTC(s[0], --s[1]||'', s[2]||'', s[3]||'', s[4]||'', s[5]||'', s[6]||''))
}
Assumes the string is UTC.

reference : http://stackoverflow.com/questions/17592717/result-of-tojson-on-a-date-is-different-between-ie8-and-ie9

wibiya widget