Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Передать ID через radiobutton 2-м ссылкам (https://javascript.ru/forum/dom-window/33604-peredat-id-cherez-radiobutton-2-m-ssylkam.html)

gategw 29.11.2012 07:09

Передать ID через radiobutton 2-м ссылкам
 
Добрый день ! Народ подскажите, как реализовать передачу ID 2-м ссылкам через radiobutton ? Т.е. по русски говоря, есть 2 ссылки удалить и редактировать, есть таблица с пользователями при выборе пользователя через radiobutton, нажимая на соответствующую ссылку к примеру Удалить он передал ID этого пользователя.

danik.js 29.11.2012 08:03

Noscript вариант:

<style>
    button[name="action"] {
        border: none;
        padding: 0;
        background: none;
        text-decoration: underline;
        color: #284A67;
    }
</style>
...
<form action="/user" method="get">
    <input type="radio" name="id" value="666" />
    ...
    <input type="radio" name="id" value="777" />

    <button type="submit" name="action" value="edit">Редактировать</button>
    <button type="submit" name="action" value="delete">Удалить</button>
</form>



javascript вариант:


<input type="radio" name="id" value="666" />
...
<input type="radio" name="id" value="777" />

<a rel="action" href="/user?action=edit">Редактировать</a>
<a rel="action" href="/user?action=delete">Удалить</a>

<script>
    (function(){
        var actions = document.querySelectorAll('[rel="action"]');
        for (var i = 0; i < actions.length; i++)
        {
            actions[i].onclick = function(){
                var id = document.querySelector('[name="id"]:checked').value;
                location.href = this.href + '&id=' + id;
            }
        }
    })();
</script>

gategw 29.11.2012 08:45

Не работает

gategw 29.11.2012 10:56

<input type="radio" name="id" value='.($managers[$i]->id).' />
<li><a rel="mode" href="index.php?mode=user_del&id=' ? как сюда ид дописать' "><i class="icon-remove"></i> Удалить профиль </a></li>
<script>
(function(){
var actions = document.querySelectorAll('[rel="mode"]');
for (var i = 0; i < actions.length; i++)
{
actions[i].onclick = function(){
var id = document.querySelector('[name="id"]:checked').value;
location.href = this.href + '&id=' + id;
}
}
})();
</script>

danik.js 29.11.2012 14:25

Я забыл, нужно return false вернуть для отметы действия по умолчанию (перехода по ссылке)

Так работает:
<input type="radio" name="id" value="10" />
		<div><a rel="mode" href="index.php?mode=user_del"><i class="icon-remove"></i> Удалить профиль </a></div>
		<script>
		(function(){
			var actions = document.querySelectorAll('[rel="mode"]');
			for (var i = 0; i < actions.length; i++)
			{
				actions[i].onclick = function(){
					var checked = document.querySelector('[name="id"]:checked');
					if (checked) {
						location.href = this.href + '&id=' + checked.value;
					} else {
						alert('Не выбран юзер!');
					}

					return false;
				}
			}
		})();
		</script>


Проявляй уважение, обрамляй код в соответствующие теги (кнопочки в редакторе)


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