Хорошо, хорошо, jQuery не всегда может быть ответом, но я в настоящее время злоупотребляю им - в основном для селекторов и живого материала - в любом случае, используя jQuery, лучшим решением для вашей проблемы будет следующее:
$('input[type:"file"]').live('change',function(){
$(this).parents('form').submit();
});
Это в основном заставляет любой тип файла ввода автоматически отправлять его родительскую форму - излишнее количество битов, вы можете легко ограничить это, изменив селектор файла типа ввода на выбранный вами класс.
И вы также можете сделать его легче, не используя live (я так делаю, потому что использую его динамически)