Как передать HTML-элемент DOM в функцию JavaScript JavaScript - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть таблица с несколькими строками. Для каждой строки мне нужно передать значение php $ myvalue в функцию java-скрипта myJSfunction внутри onclick, как показано ниже. Я пытался передать его через переменную javascript (engenes [thiskey]), но он только сохраняет и передает значение из последней строки, то есть последнее значение при нажатии на страницу. Похоже, переменная javascript не может быть сохранена, пока она не нажата. Теперь я пытаюсь передать значение из таблицы через элемент DOM, поскольку это значение появляется при нажатии следующим образом. но каким-то образом значение элемента DOM не может быть передано в myJSfunction в качестве входного значения для списка и описания. Благодарю.

Была определена переменная php $ myvalue и переменная javascript thiskey.

    <table  border="1" cellpadding="10" cellspacing="1" class="tablehead">

    <?php foreach ($hg2sl as $key => $myvalue) { ?>  
    <tr>
      <td class="rowB" align="center" valign="top"><p id="mystr"><?php echo $myvalue; ?></p></td>

       <td class="rowB" align="center" valign="top"><a onclick="enrich({list: document.getElementById('str4enrich').innerHTML, popup: true, description: document.getElementById('str4enrich').innerHTML });"><script type="text/javascript">document.write(thiskey)</script></a></td>

    </tr>
    <?php }; ?>

Below is the javascript function

function myJSfunction(options) {
if (typeof options.list === 'undefined') {
    alert('No genes defined.');
}

var description  = options.description || "",
    popup = options.popup || false,
    form = document.createElement('form'),
    listField = document.createElement('input'),
    descField = document.createElement('input');

form.setAttribute('method', 'post');
form.setAttribute('action', 'http://amp.pharm.mssm.edu/Enrichr/enrich');
if (popup) {
    form.setAttribute('target', '_blank');
}
form.setAttribute('enctype', 'multipart/form-data');

listField.setAttribute('type', 'hidden');
listField.setAttribute('name', 'list');
listField.setAttribute('value', options.list);
form.appendChild(listField);

descField.setAttribute('type', 'hidden');
descField.setAttribute('name', 'description');
descField.setAttribute('value', description);
form.appendChild(descField);

document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...