Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как передать значение из ссылки (https://javascript.ru/forum/misc/85975-kak-peredat-znachenie-iz-ssylki.html)

leon2009sp 08.07.2024 14:03

как передать значение из ссылки
 
Здравствуйте! можете помочь, как передать значение из ссылки :help:
<script>
var btn = document.querySelectorAll('a[href="#number"]');
for (let i = 0; i < btn.length; i++) {
  btn[i].onclick = function() {
    console.log('Кликнута кнопка номер ' + i);
  }
};
</script>
<div  id="1" value="1">111111</div>
<div  id="2" value="2">222222</div>
<div  id="3" value="3">333333</div>
<div  id="4" value="4">444444</div>
<div  id="5" value="5">555555</div>
<br>

<?php
echo #number;
?>

ksa 08.07.2024 17:20

Цитата:

Сообщение от leon2009sp
как передать значение из ссылки

А где у тебя ссылки?
Откуда и куда их нужно передавать?

leon2009sp 09.07.2024 07:02

пример:
window.addEventListener('DOMContentLoaded', function()
{
[].forEach.call(document.querySelectorAll('.old'), function(item)
{
 item.addEventListener('click', function()
 
{ if(document.querySelectorAll('.new').length  > 0 && !item.classList.contains('new')) {return} ;

 item.classList.toggle('new');
 var res = [].map.call(document.querySelectorAll('.new'),
 function(el) {
 return el.id
 })
 document.querySelector('.show').innerHTML = res.length ? '' + res : ''
 });
 });
});

<table width="200" summary="">
<tbody>
 <tr>
<td class="old" id="1" value="1">1</td>
<td class="old" id="2" value="2">2</td>
<td class="old" id="3" value="3">3</td>
</tr>
<tr>
<td class="old"  id="4" value="4">4</td>
 <td class="old" id="5" value="5">5</td>
 <td class="old" id="6" value="6">6</td>
</tr>
</tbody>
</table>
<div class="show">====</div>

только это сложный. (для меня) как из div передать значения?

leon2009sp 09.07.2024 07:42

готово сделано :thanks: вот что хотел:
<html>
    <head>
        <script type="text/javascript">
            function myFunc(id)
            {
               document.getElementById("content").innerHTML = id;			   
            }
        </script>
    </head>
    <body>
<div  id="1" value="1" onClick="myFunc(this.id);">111111</div>
<div  id="2" value="2" onClick="myFunc(this.id);">222222</div>
<div  id="3" value="3" onClick="myFunc(this.id);">333333</div>
<div  id="4" value="4" onClick="myFunc(this.id);">444444</div>
<div  id="5" value="5" onClick="myFunc(this.id);">555555</div>
<?php
$test = '<div id="content"></div>';
print_r ($test);
?>
</body>
</html>

leon2009sp 09.07.2024 09:11

почему я не могу установить значение в value ?
<script type="text/javascript">
            function myFunc(id)
            {
			let str = id;				
            document.getElementById("content").innerHTML = str;			   
            }
        </script>
    </head>
    <body>
<div  id="1" value="1" onClick="myFunc(this.id);">111111</div>
<div  id="2" value="2" onClick="myFunc(this.id);">222222</div>
<div  id="3" value="3" onClick="myFunc(this.id);">333333</div>
<div  id="4" value="4" onClick="myFunc(this.id);">444444</div>
<div  id="5" value="5" onClick="myFunc(this.id);">555555</div>
<?php 
$test = '<div id="content"></div>';
echo '<input type=text name=num1 value='.$test.'>';
?>

ksa 09.07.2024 09:22

Цитата:

Сообщение от leon2009sp
[].forEach.call(document.querySelectorAll('.old'), function(item) {})

У коллекции, что возвращает querySelectorAll(), есть собственный метод forEach(). ;)
Т.ч. не стоит городить такой огород. Будет работать и вот так

document.querySelectorAll('.old').forEach( function(item) {})

ksa 09.07.2024 09:24

Цитата:

Сообщение от leon2009sp
почему я не могу установить значение в value ?

Не у всех элементов ДОМ есть value... У DIVов - так точно его нет. :no:

Для такого рода данных используй дата-атрибуты

<div  data-value="1">111111</div>

ksa 09.07.2024 09:32

Цитата:

Сообщение от leon2009sp
только это сложный. (для меня) как из div передать значения?

Не стоит на каждый однотипный элемент вешать обработчик. Повесь его на родителя и он будет выполнять всю работу один, на всех дочерних элементах. ;)
Вот пример такого

<section>
	<div data-value="1">111111</div>
	<div data-value="2">222222</div>
	<div data-value="3">333333</div>
	<div data-value="4">444444</div>
	<div data-value="5">555555</div>
</section>

<script>
document.querySelector('section').addEventListener('click', e => {
	const o = e.target.closest('[data-value]')
	if (!o) return
	alert(o.dataset.value)
})
</script>

leon2009sp 09.07.2024 14:30

в input как число не заносит:
document.querySelector('section').addEventListener('click', e => {
	const o = e.target.closest('[data-value]')
	if (!o) return	
	document.getElementById("content").innerHTML = (o.dataset.value)
})
</script>
<div id="content"></div>
<?php
$test = '<div id="content"></div>';
echo '<input type="text" value="'.$test.'">';
?>

он его как текст видит
let str = id;
так тоже пробовал

ksa 10.07.2024 09:13

Цитата:

Сообщение от leon2009sp
он его как текст видит

Разумеется. В число придется преобразовывать...


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