@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?
  • Вопрос задан
  • 463 просмотра
Пригласить эксперта
Ответы на вопрос 1
y0u
@y0u Куратор тега JavaScript
dev
консоль говорит ошибка в другом файле, но там ее нет потому что все работает в другом шаблоне

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

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

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

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

Похожие вопросы