Я пытаюсь настроить чат-бота jquery, используя пример плагина, присутствующего в https://www.jqueryscript.net/form/engage-audience-conversational-chatty.html.
Ниже приведен фрагмент кода:
enter code here
var submitInput = async function () {
if (waiting === false) {
return;
}
waiting = false;
var selected = [];
var friendlySelected = [];
if (curTag.tag == 'text') {
selected = friendlySelected = textResponse.val();
}
//retrieve data from user supp`enter code here`lied custom tag
else if (curTag.tag == 'custom') {
//TODO allow custom to re`enter code here`turn 'friendly' and 'actual' data
var resp = (await curTag.retriever());
selected = resp.data;
friendlySelected = resp.friendly ? resp.friendly : selected;
textResponse.attr('readonly', false);
}
else {
$('#ui-control .selected').each(function (i, el) {
selected.push($(el).data('value'));
**$('#userresp').val($(el).data('value'));
alert($('#userresp').val()); //THIS ALERT IS SHOWING THE VALUE**
friendlySelected.push($(el).children('.text').text());
});
if (selected.length == 0) {
var remaining = $('#ui-options .ui-option:not(.filtered-out)');
if (curTag.tag === "radio" && remaining.length == 1) {
remaining.addClass('selected');
}
//TODO rethink submitting all of the options on enter for checkbox type...
else if (curTag.tag === "checkbox") {
remaining.addClass('selected');
}
$('#ui-control .selected').each(function (i, el) {
selected.push($(el).data('value'));
friendlySelected.push($(el).children('.text').text());
});
}
}
//if no input, throw error
if (selected.length == 0) {
if (!curTag.optional) {
return invalidInput(curTag.invalid || 'Invalid input');
}
friendlySelected = "No input provided";
}
//Join arrays with spaces for readability & text wrapping
if (Array.isArray(friendlySelected)) {
friendlySelected = friendlySelected.join(', ');
}
data[curTag.name] = selected;
addResponse(false, friendlySelected);
textResponse.val(null);
removeOptions();
if (curTag.success) {
curTag.success(data);
}
if (next < tags.length) {
window.setTimeout(nextTag, msgDelay);
}
};
Внутри вызова asyn c, если выдается предупреждение, оно показывает значение, но когда я на самом деле пытаюсь получить доступ к значению, оно пустое
function addTagtostep()
{
var nn = $('#userresp').val();
alert(nn); // This is blank
}
Как установить значение для скрытого поля ввода из асинхронной функции и получить значение из поля ввода.
Заранее спасибо