используйте счетчик, чтобы увидеть, есть ли у вас больше ошибок:
var counter= 0;
function validate(fName){
splitName = fName.split(".");
fileType = splitName[1];
fileType = fileType.toLowerCase();
if (fileType != 'jpg' && fileType != 'jpeg' && fileType != 'png'){
alert("You must select a .jpg or .png, file.");
counter = counter + 1;
}
if (counter !=0){
document.getElementById("uploadbutton").className = "hide";
}else{
document.getElementById("uploadbutton").className = "fwdbutton upload";
}
}
каждый раз, когда вы запускаете функцию, она проверяет, есть ли у вас ошибка. В противном случае этот код является примером и не обрабатывается, если вы исправите ранее отмеченную ошибку.
Мой совет - перепроектировать код, чтобы проверять каждый вход один раз при нажатии кнопки и вызывать оповещение о представлении. Вместо этого это усложняет вещи. Поэтому оставляйте кнопку всегда видимой и запускайте функцию при нажатии кнопки UploadButton
.Жвачка, как уже жевала немного на этом прежде в, "Какую платформу я должен использовать для записи модулей?"
После выкладывания жвачки я решил пойти с Модулем:: Сборка, но явно различные ответы возможна! (хотя я был доволен M:: B до сих пор).
Ну, Module::Build
довольно хороший модуль, он, как предполагается, понижение замены для ExtUtils::MakeMaker
, то есть, замените Make-файл. МН Сборкой. МН, которые генерируют Сборку вместо Make-файла. Это было также предназначено, поскольку "простые вещи должны остаться простыми, твердые вещи должны быть возможными".
Module::Install
проявляет другой подход и генерирует Make-файл.
Кроме того, не забывайте, что не все выполняют последнюю версию всего :-)
Я не помню сравнения тех модулей, но я думаю, что Вы могли найти несколько вещей от Module::Build
и Module::Install
соответствующие страницы cpanratings.
Мы используем Модуль:: Сборка в нашей группе.
Главной причиной является Легкая Расширяемость.
Модуль:: Сборка позволяет Вам делать больше со своим процессом сборки в чистом Perl посредством разделения на подклассы. Если Вы хотите сделать больше Модуля использования:: Установка, у Вас должно быть знание того, как Make-файлы работают, AFAIK. Так как Вы, по-видимому, уже знаете Perl, это может быть преимуществом.
Поскольку Вы сказали, с помощью Модуля:: Сборка удаляет зависимость от внешнего make
программа, которая может быть просмотрена как хорошая вещь.
Однако основные недостатки, о которых я могу думать:
perl Makemaker.PL; make; make install
парадигма, и может быть отброшена при наличии Build.PL
вместо этого. Надо надеяться, это не грандиозное предприятие.Однако хотя, я все еще рекомендую Модуль:: Сборка просто для расширяемости. Если это не проблема для Вас, можно быть более обеспечены липкий с Модулем:: Установка.