我的問題是:有誰知道爲什麼隱藏的表單輸入將在桌面瀏覽器上提交,但不是在移動設備上提交?在桌面上,我已經使用FireFox和Safari進行了測試。在移動設備上,我使用Safari進行了測試。流星Autoform - 提交隱藏的輸入在桌面上但不是移動
背景
我有一個使用自定義窗口小部件,以允許用戶選擇一個事件的日期和時間自動窗體。
在此小部件中,有三個輸入字段:日期,時間和時區(以防事件處於不同的時區)。
有兩個隱藏的輸入字段,一個用於日期時間對象,另一個用於用戶選擇的時區(單獨存儲,因此我知道如何將其顯示回給他們)。
當我在筆記本電腦上提交此表單時,所有內容均按預期工作。三個可見值被丟棄,兩個隱藏的輸入被寫入數據庫。
但是,當在移動瀏覽器(iPhone 6/Safari)上測試時,隱藏的輸入顯然未被捕獲,並且我無法提交表單,因爲日期是必需的鍵。
不知道這是否會幫助,但FWIW我自動窗體看起來是這樣的:
{{#autoForm collection="Events" id="updateEndDate" type="update" doc=this resetOnSuccess="false"}}
<fieldset>
{{> afFieldInput name="endDate" type="dateAndTime" }}
</fieldset>
<button class="btn btn-primary" type="submit">
<i class="fa fa-floppy-o"></i>
</button>
<button class="btn btn-default" id="cancelForm" type="cancel">
<i class="fa fa-trash-o"></i>
</button>
{{/autoForm}}
而且我自定義「dateAndTime」窗口小部件看起來是這樣的:
<div class="form-group">
<input class="form-control hidden"
data-schema-key={{this.name}}
name={{this.name}}
type="datetime-local" value={{dateTime}}>
<div class="form-inline">
<div class="form-group">
<input autocomplete="off" class="form-control"
id="date" placeholder="Select a date"
type="text">
</div>
<div class="form-group">
<input autocomplete="off" class="form-control typeahead"
data-autoselect=true data-highlight="true"
data-selected="timeSelected"
data-source="times" id="time"
placeholder="Add a time?"
spellcheck="off" type="text">
</div>
<div class="form-group">
{{> timezonePicker class="form-control" selected=timezoneName }}
</div>
</div>
</div>
<div class="form-group">
<input class="form-control hidden" type="text"
name={{this.atts.tzName}} data-schema-key={{this.atts.tzName}} value= {{selectedTimezone}}>
<span class="help-block">{{afFieldMessage name=this.atts.tzName}}</span>
</div>
謝謝。從來沒有想到會是這個問題......所以你爲我節省了一大筆頭。我只是將我的輸入類型更改爲隱藏輸入中的文本,並且一切正常。 – bluebird