Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Выдернуть информацию из адресной строки в input (https://javascript.ru/forum/misc/61434-vydernut-informaciyu-iz-adresnojj-stroki-v-input.html)

meucoz 18.02.2016 03:33

Выдернуть информацию из адресной строки в input
 
Здравствуйте!
Подскажите пожалуйста, как с помощью JS выдернуть информацию в определенные поля input?

Пример:
Есть ссылка
Код:

http://site.ru/tet/1?reff=site2.ru/index.html&tltl=Готово&cmg=1
reff - в поле с id="reffin"
tltl - в id="tltlin"

AciDWarrioR 18.02.2016 09:04

Цитата:

Сообщение от meucoz
reff - в поле с id="reffin"
tltl - в id="tltlin"

Вам вот это надо было? :
<!DOCTYPE html>
<html lang="en">
<head>
	<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<input id="reffin"></input>
	<input id="tltlin"></input>
	<button onclick="addInInput()">Нажать, добавить</button>
</body>
</html>
<script>
 	var link = "http://site.ru/tet/1?reff=site2.ru/index.html&tltl=Готово&cmg=1";
 	function addInInput(){
 		var piece = link.split('reff=');
 		var pieceShort1 = piece[1].split("&tltl=");
 		var pieceShort2 = pieceShort1[1].split("&");
 		$("#reffin").val(pieceShort1[0]);
 		$("#tltlin").val(pieceShort2[0]);
 	}
</script>


Но имейте ввиду, что этот код не гибкий. Он сработает если reff и tltl идут друг за другом.

ruslan_mart 18.02.2016 09:10

Нормальные люди это делают так (пример на PHP):

<input id="reffin" type="text" value="<?=htmlspecialcharses($_GET['reff'])?>">
<input id="tltlin" type="text" value="<?=htmlspecialcharses($_GET['tltl'])?>">

meucoz 18.02.2016 14:22

Цитата:

Сообщение от AciDWarrioR (Сообщение 408287)
Вам вот это надо было? :
<!DOCTYPE html>
<html lang="en">
<head>
	<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<input id="reffin"></input>
	<input id="tltlin"></input>
	<button onclick="addInInput()">Нажать, добавить</button>
</body>
</html>
<script>
 	var link = "http://site.ru/tet/1?reff=site2.ru/index.html&tltl=Готово&cmg=1";
 	function addInInput(){
 		var piece = link.split('reff=');
 		var pieceShort1 = piece[1].split("&tltl=");
 		var pieceShort2 = pieceShort1[1].split("&");
 		$("#reffin").val(pieceShort1[0]);
 		$("#tltlin").val(pieceShort2[0]);
 	}
</script>


Но имейте ввиду, что этот код не гибкий. Он сработает если reff и tltl идут друг за другом.

Спасибо, почти то, что хотел :thanks:
Только не пойму теперь, как сделать все тоже самое, но без кнопки. чтобы скрипт сам выдернул информацию и вставил ее в поля.
возможно такое?

AciDWarrioR 18.02.2016 14:25

Цитата:

Сообщение от meucoz
Только не пойму теперь, как сделать все тоже самое, но без кнопки. чтобы скрипт сам выдернул информацию и вставил ее в поля.
возможно такое?

повесить на body onload=function()
<!DOCTYPE html>
<html lang="en">
<head>
	<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body onload='addInInput()'>
	<input id="reffin"></input>
	<input id="tltlin"></input>
</body>
</html>
<script>
 	var link = "http://site.ru/tet/1?reff=site2.ru/index.html&tltl=Готово&cmg=1";
 	function addInInput(){
 		var piece = link.split('reff=');
 		var pieceShort1 = piece[1].split("&tltl=");
 		var pieceShort2 = pieceShort1[1].split("&");
 		$("#reffin").val(pieceShort1[0]);
 		$("#tltlin").val(pieceShort2[0]);
 	}
</script>

meucoz 18.02.2016 18:32

Цитата:

Сообщение от AciDWarrioR (Сообщение 408323)
повесить на body onload=function()
<!DOCTYPE html>
<html lang="en">
<head>
	<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body onload='addInInput()'>
	<input id="reffin"></input>
	<input id="tltlin"></input>
</body>
</html>
<script>
 	var link = "http://site.ru/tet/1?reff=site2.ru/index.html&tltl=Готово&cmg=1";
 	function addInInput(){
 		var piece = link.split('reff=');
 		var pieceShort1 = piece[1].split("&tltl=");
 		var pieceShort2 = pieceShort1[1].split("&");
 		$("#reffin").val(pieceShort1[0]);
 		$("#tltlin").val(pieceShort2[0]);
 	}
</script>

Да, все круто! Спасибо:thanks:

Если добавляю еще "&img=" например, то он обрезает после "img" нее, а после не выдерает:-?

Код:

var piece = link.split('url=');
                var pieceShort1 = piece[1].split("&tltl=");
                var pieceShort2 = pieceShort1[1].split("&");
                var pieceShort3 = piece[1].split("&img=");
                var pieceShort4 = pieceShort3[1].split("&");
                $("#domain").html(decodeURIComponent(pieceShort1[0]));
                $("#title").html(decodeURIComponent(pieceShort2[0]));
                $("#cont").html(decodeURIComponent(pieceShort3[0]));


AciDWarrioR 18.02.2016 18:34

meucoz,
Скиньте всю ссылку

meucoz 18.02.2016 18:42

Все, разобрался:)

AciDWarrioR 18.02.2016 18:44

Цитата:

Сообщение от meucoz
Если добавляю еще "&img=" например, то он обрезает после "img" нее, а после не выдерает

<!DOCTYPE html>
<html lang="en">
<head>
	<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body onload='addInInput()'>
	<input id="reffin"></input>
	<input id="tltlin"></input>
	<input id="urlin"></input>
</body>
</html>
<script>
 	var link = "http://site.ru/tet/1?reff=site2.ru/index.html&tltl=Готово&cmg=1&url=asdasdasd";
 	function addInInput(){
 		var piece = link.split('reff=');
 		var pieceShort1 = piece[1].split("&tltl=");
 		var pieceShort2 = pieceShort1[1].split("&");
 		var pieceShort3 = pieceShort2[2].split("url=");
 		$("#reffin").val(pieceShort1[0]);
 		$("#tltlin").val(pieceShort2[0]);
 		$("#urlin").val(pieceShort3[1]);
 		alert(pieceShort3[1]);
 	}
</script>

На будущее, проверяйте alert, что выдает, так будет легче разобраться)));)


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