У меня есть событие onclick, которое вызывается в цикле PHP foreach
для нескольких элементов, имя автора которых мне нужно щелкнуть.Было сгенерировано только одно имя, поэтому я знаю, что у меня должен быть уникальный идентификатор для каждого элемента HTML.У меня уже есть переменная $objkey
для счетчика, используемого в цикле, поэтому я добавил его к идентификатору.
<?php
//This is the item that appears in the loop.
//Currently, clicking on each one that is generated only generates the first author name
//The correct author as passed by PHP displays in the loop.
//$closest is the value of the author's name.
echo 'Click name to add <span><button id="closest' . $objkey . '" onClick="setAuthor()">' . $closest . '</button></span><br />';
?>
Я сделал print_r('$objkey);
, и соответствующее значение для счетчика передается.
Я хочу, чтобы значение этого элемента кнопки $closest
было передано вполе ввода.Я добавил переменную к элементам id и name входа (не уверен, поможет ли это) ( UPDATE : для каждого из авторов, для которого необходимо получить значение, есть поле ввода):
<?php
echo '<input id="author_name' . $objkey . '" type="text" name="author_name' . $objkey . '" value="' . $author . '" />';
?>
Я застрял в своей функции:
<script type="text/javascript">function setAuthor() {
var author = document.getElementById("closest").innerHTML;
window.alert(author);
document.forms["myform"].elements["author_name"].value = author; }</script>
Как создать переменную в функции для уникальных идентификаторов, чтобы каждый зацикленный элемент генерировал разные имена?