Определение расширения файла:
$('input[type=file]').live('change',function(){
var ext=$(this).val().split('.').pop();
alert(ext);
});
Проверка на допустимость типа файла для загрузки:
$('input[type=file]').live('change',function(){
var ext=$(this).val().split('.').pop();
var allow=new Array('7z','bin','bz','bz2','doc','docx','gif','gz','htm','html','ico','jpeg','jpg','mov','mp3','mpeg','mpg','pdf','php','png','ppt','pptx','rar','rtf','swf','tar','txt','wav','xls','xlsx','zip');
if($.inArray(ext,allow)===-1){
$(this).val('');
alert('Недопустимый тип файла');
}
});
Например имеем код:
<ul id="service_filter">
<li class="active"><a href="#" data-service="0">Все</a></li>
<li><a href="#" data-service="1">Услуга 1</a></li>
<li><a href="#" data-service="2">Услуга 2</a></li>
<li><a href="#" data-service="3">Услуга 3</a></li>
</ul>
<div class="article_item" data-services="'1'">Описание 1</div>
<div class="article_item" data-services="'1','2','3'">Описание 2</div>
<div class="article_item" data-services="'3'">Описание 3</div>
$(document).ready(function(){
$('ul#service_filter li a').on('click',function(){
var service=$(this).data('service');
$(this).closest('ul').find('li').removeClass('active');
$(this).parent().addClass('active');
if(service=='0'){
$('.article_item').fadeIn();
}
else{
$('.article_item').fadeOut();
$('.article_item').each(function(i,el){
var id="'"+service+"'";
if($(el).data('services').search(id)!=-1){
$(el).fadeIn();
}
});
}
return false;
});
});
В таком случае второй div.article_item будет показан при клике по любой ссылке, а 1 и 3 только по 1 и 3 соответственно.
Получить value всех отмеченных checkbox в блоке, перечисленные через запятую.
$('.catalog a.submit').live('click',function(){
var options=[];
$.each($(".catalog input[type=checkbox]:checked"),function(){
options.push($(this).val());
});
alert(options);
return false;
});
В примере задержка 200мс перед появлением блока
$('.cart_module').delay(200).fadeIn();
Решаем проблему с тем, что атрибут required не работает в мобильных safari (возможно еще где-то).
Обновлено:
$('form').on('submit',function(){
var required=$(this).find('[required="required"]');
var error=false;
$(required).each(function(){
if($(this).val()==''){
$(this).css('border-color','#e03c42');
if(!error){
$(this).focus();
}
error=true;
}
else{
$(this).css('border-color','#ffffff');
}
});
if(error){
return false;
}
});
Прежний вариант:
$('form').on('submit',function(){
var required=$(this).find('[required="required"]');
var error=false;
for(var i=0;i<=(required.length-1);i++){
if(required[i].value==''){
required[i].style.backgroundColor='rgb(255,155,155)';
error=true;
}
else{
required[i].style.backgroundColor='white';
}
}
if(error){
return false;
}
});
Оригинал с http://stackoverflow.com/questions/10664356/html5-form-element-required-on-ipad-iphone-doesnt-work
$('form').submit(function(){
var required=$('[required="true"]');
var error=false;
for(var i=0;i<=(required.length-1);i++){
if(required[i].value==''){
required[i].style.backgroundColor='rgb(255,155,155)';
error=true;
}
}
if(error){
return false;
}
});
Или на основе чего-нибудь из (http://stackoverflow.com/questions/23261301/required-attribute-not-work-in-safari-browser):
$("form").submit(function(e){
var ref=$(this).find("[required]");
$(ref).each(function(){
if($(this).val()==''){
alert("Required field should not be blank.");
$(this).focus();
e.preventDefault();
return false;
}
});
return true;
});
$('#idForm').click(function(e){
e.preventDefault();
var sendModalForm=true;
$('[required]').each(function(){
if($(this).val()==''){
sendModalForm=false;
alert("Required field should not be blank.");
$('.error-message').show();
}
});
if(sendModalForm){
$('#idForm').submit();
}
});