@viktorross

Почему не работает js?

здравствуйте, помогите решить проблему с js, до недавнего времени все работало, сейчас перестало

при вызове href="javascript:;"

ничего не происходит

в консоле показывает ошибку

details.js:35 Uncaught TypeError: Cannot read property 'split' of undefined
    at onQuickSearch (details.js:35)
    at HTMLDocument.<anonymous> (sfgnkwerj-ewrwef:204)
    at c (details.js:21)
    at Object.fireWith [as resolveWith] (details.js:21)
    at Function.ready (details.js:21)
    at HTMLDocument.q (details.js:21)


интересно то, что в этом файле нет ошибок, т.к пробовал на другом аналогичном шаблоне с теми же скриптами запустить данный js, работает и ошибок нет я не понимаю в чем может быть причина

вот сам код шаблона
{foreach $special_user_fields.whatsapp as $whatsapp}
	
	{capture name=pb assign=pb}pb_{$whatsapp.caption}{/capture}
	
	{if (isset($listing.user[$whatsapp.caption]) && $listing.user[$whatsapp.caption]) && ( $whatsapp.public==1 || $listing.user[$pb]==1 )}
				{if !$is_phone}
	<div class="clearfix mb10">
	<i class="fab fa-whatsapp fa-lg"></i><span class="span_phone" id="span_{$whatsapp.caption}">{$listing.user[$whatsapp.caption]|substr:0:2}********</span>
	<a class="rfloat med-btn btn-green show_phone fdgnflnlkdfkg_85J" style="background:#ffffff !important;" href="javascript:;" id="show_{$whatsapp.caption}">{$lng.listings.show_whatsapp}</a>
	</div>
	{/if}
	{/if}		
	{/foreach}

скрипт просто должен показывать по нажатию кнопки номер

$("a.show_phone").click(function(event){

	var field = jQuery(this).attr("id").substr(5);

	$.ajax({
		type		: "GET",
		cache		: false,
		url		: "{/literal}{$live_site}/include/get_phone.php?aid={$listing.id}&{if $listing.user_id}id={$listing.user_id}{/if}&field={literal}"+field,
		data		: $(this).serializeArray(),
		success: function(data) {

				$("#span_"+field).html(data);
				$("#show_"+field).hide();

			} // end data
		});// end ajax

});

$("a.show_l_phone").click(function(event){

	var field = jQuery(this).attr("id").substr(5);

	$.ajax({
		type		: "GET",
		cache		: false,
		url		: "{/literal}{$live_site}/include/get_phone.php?aid={$listing.id}&type=listing&field={literal}"+field,
		data		: $(this).serializeArray(),
		success: function(data) {

				$("#span_"+field).html(data);
				$("#show_"+field).hide();

			} // end data
		});// end ajax

});


консоль говорит ошибка в другом файле, но там ее нет потому что все работает в другом шаблоне

как проанализировать что именно блокирует выполнение js?
  • Вопрос задан
  • 427 просмотров
Пригласить эксперта
Ответы на вопрос 1
y0u
@y0u
dev
консоль говорит ошибка в другом файле, но там ее нет потому что все работает в другом шаблоне

Нет, она там есть, раз показывает такую ошибку.
details.js:35 Uncaught TypeError: Cannot read property 'split' of undefined

Эта ошибка говорит о том, что вместо строки вы передали методу split - undefined.

Ищите дальше самостоятельно то место, где вы должны передать строку, а передаете undefined.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
До 170 000 руб.
Индустрия Москва
от 200 000 до 250 000 руб.
IT IS Kernel Новосибирск
от 100 000 руб.
16 сент. 2019, в 16:51
10000 руб./за проект
16 сент. 2019, в 16:47
25000 руб./за проект
16 сент. 2019, в 16:31
5000 руб./за проект