Javascript - функция не получает внешние входные значения от JQuery - PullRequest
0 голосов
/ 14 февраля 2020

В моем файле sdk.php хранится следующая функция:

<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script>
function saveObject(params) {
    console.log('p: ' + params);
}
</script>

В другом файле php - index.php - я вызываю эту функцию, передавая входные значения в качестве параметров:

Text: <input type="text" name="aText" id="aText"><br>
Number: <input type="number" name="aNumber" id="aNumber"><br>
<script>
// Save object
var params = [
    'tableName=' + 'Test',
    '&ST_text=' + $('#aText').val(),
    '&NU_likes=' + $('#aNumber').val(),     
].toString().replace(/,/g, '');
</script>
<a class="btn btn-info" href="#" onclick="saveObject(params)">Save Object</a>

Теперь, если я наберу что-то во 2 входных файлах и нажму кнопку Сохранить объект , это то, что я получаю в консоли Chrome:

p: tableName=Test&ST_text=&NU_likes=

Почему я не получаю значения aText и aNumber в строке, которую я составляю?

Я спрашиваю об этом, потому что, если я перемещу массив params в функцию saveObject(), я получу значения.

Что я делаю неправильно?

1 Ответ

1 голос
/ 14 февраля 2020

Ваши параметры не определены, потому что скрипт выполняется только при загрузке страницы. Вам необходимо определить значения после события, например, нажать кнопку «Сохранить объект».
Попробуйте что-то вроде этого:

<a class="btn btn-info" id="saveButton" href="#">Save Object</a>

В jQuery:

$("#saveButton").click(function () {
var params = [//define params here];
saveObject(params);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...