Собственно что имеем:
$("#cart-phone")maskedinput("+7 (999) - 99 - 99");
Без точки перед maskedinput - ошибка по понятным причинам.
$("#cart-phone").maskedinput("+7 (999) - 99 - 99");
Это выдает в firebug
TypeError: $(...).maskedinput is not a function
$("#cart-phone").inputmask("+7 (999) - 99 - 99");
Это работает.
И да, нужно на onclick на поле инициализировать, например. Или на открытие формы.
Форма генерится динамически и к тому моменту, когда функция отрабатывает, поля еще нет.
В firebug проверьте.
В общем нужно когда форма отобразилась инициализировать маску.