表单字段中输入的日期未提交

时间:2020-04-12 14:51:27

标签: javascript forms date

我有一些代码可以成功地将各种值输入到网页上的表单中,并且可以看到数据以正确的格式放入了正确的字段中。当我使用屏幕上的“确定”按钮或代码提交表单时,该过程完成了,但是所携带的日期数据是当前日期,尽管我可以在该字段中看到一个不同的日期。我可以从记事本中将数据剪切并粘贴到该字段中,并且效果很好。

因此,简而言之,尽管我可以在屏幕上看到正确的日期日期,但该日期在脚本提供时并没有提交。

以下是表单相关部分的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&amp;">

#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)创建一个具有日期类型的var以用于输入的本机版本

var StDate = new Date("05/05/2020");
document.getElementById('editConference_startNative').value = StDate;

我认为输出使用的格式错误,但无法弄清楚如何以正确的格式将其缩短。也许这不是正确的方法。

3)删除最终的单击代码,然后等待几秒钟,然后他们将Click行添加到控制台中并执行,但这没有用。我想这不是拖延的问题。我也尝试在点击代码之前尝试使用此代码,但会导致延迟,但我不确定它是否有效:

setTimeout(function(){}, 3000);
document.getElementById("editConference_ok").click();

提前感谢您的任何建议。

0 个答案:

没有答案
相关问题