У меня есть код, который успешно вводит различные значения в форму на веб-странице, и я вижу, что данные помещаются в правильные поля в правильном формате. Когда я отправляю форму с помощью кнопки «ОК» на экране или кода, процесс завершается, но перенесенные данные Дата являются текущей датой, несмотря на то, что в поле отображается другая дата. Я могу вырезать и вставлять данные в поле, например, из Блокнота, и он отлично работает.
Итак, короче говоря, хотя я вижу правильную дату Дата на экране, она не отправляется при предоставлении сценарием.
Вот html для соответствующей части формы, и я думаю, что соответствующий код находится рядом с ней:
<iframe id="mainPanel_iframe" name="mainPanel_iframe" class="mochaIframe" src="https://portal.starleaf.com/pbx/node-1.live.pr.starleaf.com/portal/#page=addUserConference&">
#document
<div> class="mainTableContainer">
<form action="#" method="get">
<div class="formRow">
<div class="fieldBlock calendarBlock">
<input type="date" id="editConference_startNative" class="native_date has_native">
<input type="text" id="editConference_start" class="sl_date has_native" placeholder="DD/MM/YYYY">
<input type="text" id="editConference_startTime" placeholder="Time" class="ui-timepicker-input" autocomplete="off">
<div id="start-date-picker"><div class="pika-single is-hidden is-bound" style="position: static; left: auto; top: auto;"></div></div>
<div id="start-time-picker"></div>
</div>
</div>
</form>
</div>
<div class="buttons">
<input type="button" id="editConference_ok" value="OK">
</div>
</iframe>
Вот Javascript, который я использовал. Я тестировал его с помощью консоли Chrome F12 и работал внутри iframe. Он автоматизирует заполнение формы и отправляет ее. Строка с StDate (id="editConference_start"
) не работает, но следующая строка с StTime (id="editConference_startTime"
) действительно проходит после «щелчка». Оба типа type="text"
.
\ Загрузка данных в поля
var StDate = "06/05/2020";
document.getElementById('editConference_start').value = StDate;
var StTime = "16:20";
document.getElementById('editConference_startTime').value = StTime;
\ Нажмите «ОК»
document.getElementById("editConference_ok").click();
Пытались:
1) Использование приведенного ниже кода для ввода данных через элемент id = "editConference_startNative". Кажется, он не работает, но я не уверен, имеет ли смысл мой код или стоит ли что-то использовать:
var StDate = document.querySelector('input[type="date"]');
StDate.value = '2020-05-05';
document.getElementById('editConference_startNative').value = StDate;
2) Создание переменной с типом даты для использования с собственной версией input
var StDate = new Date("05/05/2020");
document.getElementById('editConference_startNative').value = StDate;
Я думаю, что вывод находится в неправильной форме для использования, но не могу понять, как сократить его в правильном формате. Возможно, это неправильный подход.
3) Удаление окончательного кода щелчка, затем ожидание в течение нескольких секунд и добавление строки Click в консоль и выполнение, но это не сработало. Я предполагаю, что это не вопрос задержки. Я также пробовал этот код перед кликом для задержки, но я не уверен, действителен ли он:
setTimeout(function(){}, 3000);
document.getElementById("editConference_ok").click();
Заранее благодарен за любые предложения.