Архив

Архив Декабрь 2016
29 декабря 2016 Нет комментариев

Решаем проблему с тем, что атрибут 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();
	}
});
Categories: Javascript Tags:
29 декабря 2016 Нет комментариев
$(".datepicker").datepicker();
$.datepicker.regional['ru']={
	closeText:'Закрыть',
	prevText:'&#x3C;Пред',
	nextText:'След&#x3E;',
	currentText:'Сегодня',
	monthNames:['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
	monthNamesShort:['Янв','Фев','Мар','Апр','Май','Июн','Июл','Авг','Сен','Окт','Ноя','Дек'],
	dayNames:['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'],
	dayNamesShort:['вск','пнд','втр','срд','чтв','птн','сбт'],
	dayNamesMin:['Вс','Пн','Вт','Ср','Чт','Пт','Сб'],
	weekHeader:'Нед',
	dateFormat:'dd.mm.yy',
	firstDay:1,
	isRTL:false,
	showMonthAfterYear:false,
	yearSuffix:''
};
$.datepicker.setDefaults($.datepicker.regional['ru']);
Categories: Javascript Tags:
23 декабря 2016 Нет комментариев
.block{
	column-count:2;
	column-gap:30px;
}

column-gap — межколоночный интервал

Categories: CSS Tags:
21 декабря 2016 Нет комментариев
@keyframes trambling-animation{
	0%,50%,100%{
		transform:rotate(0deg);
	}
	10%,30%{
		transform:rotate(-10deg);
	}
	20%,40%{
		transform:rotate(10deg);
	}
}
.trambling{
	animation:1.2s ease-in-out 0s normal none infinite running trambling-animation;
}

LESS с поддержкой старых браузеров

.transform(@transform){
	-moz-transform:@transform;
	-ms-transform:@transform;
	-webkit-transform:@transform;
	-o-transform:@transform;
	transform:@transform;
}
.animation(@animation){
	-webkit-animation:@animation;
	-moz-animation:@animation;
	-o-animation:@animation;
	animation:@animation;
}
@keyframes trambling-animation{
	0%,50%,100%{
		.transform(rotate(0deg));
	}
	10%,30%{
		.transform(rotate(-10deg));
	}
	20%,40%{
		.transform(rotate(10deg));
	}
}
.trambling{
	.animation(1.2s ease-in-out 0s normal none infinite running trambling-animation);
}

Или используйте jquery плагин jRumble:
https://jackrugile.com/jrumble/

Categories: CSS, Javascript Tags:
19 декабря 2016 Нет комментариев

В примере для открытия URL каждый день в час ночи.

0 1 * * * wget -O - http://site.com/cron.php >/dev/null 2>&1

Еще варианты:
http://stackoverflow.com/questions/13259530/using-cron-jobs-to-visit-url

Categories: Unix, Web Tags:
9 декабря 2016 Нет комментариев

DaData.ru
Подключение и простой поиск:

<html>
<head>
	<link href="https://cdn.jsdelivr.net/jquery.suggestions/16.8/css/suggestions.css" type="text/css" rel="stylesheet"/>
	<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
	<!--[if lt IE 10]>
	<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.1/jquery.xdomainrequest.min.js"></script>
	<![endif]-->
	<script type="text/javascript" src="https://cdn.jsdelivr.net/jquery.suggestions/16.8/js/jquery.suggestions.min.js"></script>
</head>
<body>
	<input id="party" name="party" type="text" size="100"/>
	<script type="text/javascript">
		$("#party").suggestions({
			serviceUrl:"https://suggestions.dadata.ru/suggestions/api/4_1/rs",
			token:"---",
			type:"PARTY",
			count:5,
			onSelect:function(suggestion){
				console.log(suggestion);
			}
		});
	</script>
</body>
</html>

Разложить организацию по полям:

<html>
<head>
	<link href="https://cdn.jsdelivr.net/jquery.suggestions/16.8/css/suggestions.css" type="text/css" rel="stylesheet"/>
	<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
	<!--[if lt IE 10]>
	<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.1/jquery.xdomainrequest.min.js"></script>
	<![endif]-->
	<script type="text/javascript" src="https://cdn.jsdelivr.net/jquery.suggestions/16.8/js/jquery.suggestions.min.js"></script>
</head>
<body>
	<section class="container">
		<h1>Подсказки по организациям и ИП</h1>
		<input id="party" name="party" type="text" placeholder="Введите название, ИНН, ОГРН или адрес организации"/>
	</section>
	<section class="result">
		<p id="type"></p>
		<div class="row">
			<label>Краткое наименование</label>
			<input id="name_short"/>
		</div>
		<div class="row">
			<label>Полное наименование</label>
			<input id="name_full"/>
		</div>
		<div class="row">
			<label>ИНН / КПП</label>
			<input id="inn_kpp"/>
		</div>
		<div class="row">
			<label>Адрес</label>
			<input id="address"/>
		</div>
	</section>
	<script>
		function join(arr){
			var separator=arguments.length>1?arguments[1]:", ";
			return arr.filter(function(n){return n}).join(separator);
		}
		function typeDescription(type){
			var TYPES={
				'INDIVIDUAL':'Индивидуальный предприниматель',
				'LEGAL':'Организация'
			}
			return TYPES[type];
		}
		function showSuggestion(suggestion){
			console.log(suggestion);
			var data=suggestion.data;
			if(!data)return;
			$("#type").text(
				typeDescription(data.type)+" ("+data.type+")"
			);
			if(data.name)$("#name_short").val(join([data.opf&&data.opf.short||"",data.name.short||data.name.full]," "));
			if(data.name&&data.name.full)$("#name_full").val(join([data.opf&&data.opf.full||"",data.name.full]," "));
			$("#inn_kpp").val(join([data.inn, data.kpp]," / "));
			if(data.address)$("#address").val(data.address.value);
		}
		$("#party").suggestions({
			serviceUrl:"https://suggestions.dadata.ru/suggestions/api/4_1/rs",
			token:"---",
			type:"PARTY",
			count:5,
			onSelect:showSuggestion
		});
	</script>
</body>
</html>

Подробнее:
Подключение: https://dadata.ru/suggestions/usage/#party
REST API: https://dadata.ru/api/suggest/#request-party
Как разложить компанию по полям? Наименование, ИНН, КПП, адрес? http://codepen.io/dadata/pen/Gdakz?editors=1010

Еще по теме:
https://www.nalog.ru/rn77/service/egrip2/
http://sc-kontur.ru/focus/focus_api

Categories: Web Tags: