Появилась ссылка. Например /sani/sani_all.html/ , ваш сервер по какой то причине отдает/стал отдавать контент существующего в каталоге /sani/ файла sani_all.html, а адресация в нем прописана относительно, как уже говорили выше, папки: a href="sani_passazhirskie_bshpp500_modernizirovannye.html". Что получится? Как и должно быть:
/sani/sani_all.html/sani_passazhirskie_bshpp500_modernizirovannye.html
.хтакцесс
Что то типа RewriteRule ^(.+).html/(.*)$ $1.html [R=301,L]
предположение
Вероятно (т.к. стили не грузятся на плохих урлах, следовательно их урл не переписывается), надо убрать, что там у вас есть, что касается mod_rewrite и содержит html (если на самом деле сайт просто хтмл-файлы). А лучше здесь хтакцесс показать.
В 3 строке попробуйте
return '#\b('.$key.')\b#ui';
А вообще, typeof здорово помогает свести такого рода ошибки к 0. Если, как то так сделать
function bTestPostalCode( strToTest ) { return typeof strToTest == 'string' ? ( strToTest.match( /^\d{5}(-\d{4})?$/ ) ? true : false ) : 0; }
то получим 0, если не строка и тру/нетру в зависимости от результата теста.
Речь шла об ошибке тайпЕррор, теперь ее нет.
Никуда ничего не приводится. В изначальном варианте была попытка сравнить с регулярным выражением document.getElementById('anStr') , который есть метод объекта документ со всеми свойствами и методами элемента "анСтр". На что было получено ругательство "TypeError: strToTest.match is not a function". document.getElementById('anStr').value же возвращает строку (или андефинед если анСтр не элемент формы), которую вполне корректно сравнивать с регулярным выражением. Суда по регулярке, тру должно сказать если или ровно 5 цифр в анализируемой строке или строго 5 цифр тире и еще 4 цифры. В любом другом случае нетру. На мой замыленый к текущему часу глаз, именно так должно и быть.
Не верю (с) д.б. алерт тру/нетру в зависимости от ввода :)
ТайпЕррора уже не будет, ибо document.getElementById('anStr').value это стринг. Если, конечно элемент с ид anStr существует.
Там все написано.
А конкретика может быть например такой:
var form=('#form'), frmdata=valid(form); //валидация формы: null если неудачно или form.serialize(); if (frmdata) $.ajax({ //отправка формы url: url, type: 'POST', data: frmdata, success: function (data, textStatus) { yaCounterXXXXXX.reachGoal('TARGET_NAME'); //Я - цель достигнута ga('send', {....}); //Г - цель достигнута } });
Видимо document.getElementById('anStr') , который передается аргументом strToTest в функцию не строка.
Попробуйте document.getElementById('anStr').value , может получится ☝
А клонировать обязательно?
var url_block=$('.wrp-url').html(); $(document).on("click", ".del-field", function(){ $(this).parent().remove(); return false; }).on("click", ".add-field", function(){ $(this).before('<div>'+url_block+'</div>'); return false; });
ага 😕
Тады и изначальный вариант работает, если массив нужен потом. ;)
$arr = array('a'=>'a','b'=>'b','c'=>'c'); foreach ($arr as $key =>$vl) { /* без ссылки на значение (&) */ if($vl=='a'){ unset($arr['b']); } if(isset($arr[$key])) echo $key.'-'.$vl."\n"; }
или
$arr = array('a'=>'a','b'=>'b','c'=>'c'); foreach ($arr as $key =>$vl) { if($vl=='a'){ unset($arr['b']); } } print_r($arr);
Да и в 5+немного DEPRECATED
Вероятно, ваш скрипт выполняется до загрузки query
как вариант
window.onload = function() {
тут ваш код с $()
};