我有一個表單,我需要兩個字段相同。我試圖使用JavaScript來使第二個與第一個相同,第一個設置後。Javascript複製表單輸入
這裏是JavaScript(我上面的標籤)
<script type="text/javascript" charset="utf-8">
function updateDate(){
startDate = document.getElementById("startdate").value;
document.getElementById("enddate").value = startDate;
} </script>
和HTML如下:
<span class="em-events-search-dates em-date-range">
<input type="text" id="startdate" class="em-date-input-loc em-date-start" onchange="updateDate();" />
<input type="hidden" class="em-date-input" name="scope[0]" value="<?php if(!empty($_REQUEST['scope'][0])) echo $_REQUEST['scope'][0]; ?>" />
<input type="text" id="enddate" class="em-date-input-loc em-date-end" />
<input type="hidden" class="em-date-input" name="scope[1]" value="<?php if(!empty($_REQUEST['scope'][1])) echo $_REQUEST['scope'][1]; ?>" />
</span>
我遇到的問題是,當您單擊窗體域,它打開日期選擇器。我很確定它使用了這個確切的插件http://jqueryui.com/demos/datepicker/
不幸的是,這意味着在選擇日期之後你永遠不會真正點擊表單域,並且你從不輸入任何內容。
我試過的onmouseout在第二場(隱藏一個帶班EM-日期輸入) 我試圖平變化與ID開始日期的第一個元素
有一些的工作,只有當你回去然後點擊所選日期的可見字段。問題是,用戶永遠不會這樣做。
我甚至試着把onsubmit =「updateDate();」在提交按鈕上,希望當你點擊它時,它會改變提交表單之前的第二個日期..沒有運氣。有什麼建議麼?
編輯:添加警報,看看有什麼是工作,什麼不是
<input type="text" onchange="alert('first');" id="startdate" class="em-date-input-loc em-date-start" />
<input type="hidden" onchange="alert('second');" class="em-date-input" name="scope[0]" value="<?php if(!empty($_REQUEST['scope'][0])) echo $_REQUEST['scope'][0]; ?>" />
<input type="text" onchange="alert('third');" id="enddate" class="em-date-input-loc em-date-end" />
<input type="hidden" onchange="alert('fourth');" class="em-date-input" name="scope[1]" value="<?php if(!empty($_REQUEST['scope'][1])) echo $_REQUEST['scope'][1]; ?>" />
當我改變在第二個框(ID =「結束日期」)之日起,將觸發第三警報。即使我多次更改第一個框中的日期或打字,也不會有其他警報發生。
注意,這裏不需要'charset =「utf-8」'。另外,你「非常確定」它使用jQuery UI datepicker?你不知道嗎?如果是這樣,你就可以輕鬆掌握所有的jQuery。 – j08691 2012-08-15 20:53:40
我不知道它是用名爲Events Manager的wordpress插件生成的,我仍然沒有找到它的文件在哪裏生成日期選擇框。 – 2012-08-15 20:59:20
你想要在這兩個領域相同的價值,或者你只是想兩個領域? – 2012-08-15 20:55:30