Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Получить часть ссылки (https://javascript.ru/forum/misc/49624-poluchit-chast-ssylki.html)

rslab 21.08.2014 16:13

Получить часть ссылки
 
Здравствуйте. В JS слабо понимаю, но всё же.
Нужно найти на странице элемент:

Код:

<a id = "main" class = "nomodify" href = "/post*">
Где * - какое либо число.
Так вот, нужно получить это число, занести в переменную и выполнить ф-ю ajaxpost() с этой переменной.

Кто поможет?

UPD: вроде бы решил

var uid=parseInt(href.match(/\/post([0-9]+)$/));
ajaxpost(uid);


Но теперь встал вопрос - проверить, нашелся ли этот элемент.

Правильно ли будет это провести вот так?

if (uid == null){
// что то там далее
}

WorM32 21.08.2014 16:23

можно просто
// элемент найден
if (uid) {

}

rslab 21.08.2014 16:31

WorM32,
Спасибо.
Теперь по ходу дела еще один вопрос.
Аякс возвращает небольшую HTML страницу.
Её нужно поместить в div с именем main.
Погуглил, нашёл ф-ю в jquery:
Думаю попробовать сделать это вот так:

// аякс для наглядности
$.get(
  "/ajax.php",
  {
    uid: +uid+

  },
  onAjaxSuccess
);
 
function onAjaxSuccess(data)
{
 $(data).appendTo('.main');

}


Но вот чего то не обрабатывается.

skrudjmakdak 21.08.2014 16:41

<!DOCTYPE html>
<html>
<head>
    <title>example</title>
</head>
<body>
	<div>
		<a href = "/post1">link 1</a><br>
		<a href = "/post2">link 2</a><br>
		<a href = "/post3">link 3</a><br>
		<a href = "/post">link 4</a><br>
		<a href = "/post5">link 5</a><br>
		<a href = "/post6">link 6</a><br>
	</div>
	<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
	<script>
	$('a').click(function()
		{
		var href = $(this).attr('href'),
			id = parseInt(href.substr(5));
		
		if (typeof id != 'number' || isNaN(id))
			return false;
			
		$.ajax(
			{
			url: "test.html",
			data:
				{
				id: id
				}
			}).done(function()
			{
			console.log('done!');
			});
		
		return false;
		});
	</script>
</body>
</html>

skrudjmakdak 21.08.2014 16:45

Цитата:

Сообщение от rslab (Сообщение 326867)
Но вот чего то не обрабатывается.

выведи в консоль data:
console.log(data);

либо во вкладке network можно посмотреть что пришло с сервера

rslab 21.08.2014 16:52

skrudjmakdak,
при попытке обернуть Ваш код в функцию выдало - send is not defined

skrudjmakdak 21.08.2014 16:56

можно узреть то что вы сделали?

rslab 21.08.2014 16:58

skrudjmakdak,
просто:
function send(){
// тут ваш код
}

skrudjmakdak 21.08.2014 16:59

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

п.с. я отлучусь, смогу ответить чуть позже

rslab 21.08.2014 17:02

skrudjmakdak,
function send(){
	$('a').click(function()
		{
		var href = $(this).attr('href'),
			id = parseInt(href.substr(5));
		
		if (typeof id != 'number' || isNaN(id))
			return false;
			
		$.ajax(
			{
			url: "lords.php",
                        type:'get',
			data:
				{
				id: id
				}
			}).done(function()
			{
			console.log('done!');
			});
		
		return false;
		}});
}


Часовой пояс GMT +3, время: 10:56.