2015-07-22 63 views
0

我的問題是:有誰知道爲什麼隱藏的表單輸入將在桌面瀏覽器上提交,但不是在移動設備上提交?在桌面上,我已經使用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> 

回答

1

根據this question它看起來像iOS Safari不支持datetime輸入類型。我想這就是爲什麼你有這個問題,並且需要將datetime字段分成兩個單獨的字段 - 一個用於date,另一個用於time

Here's a bit more info在這個問題上,你可以比較像鉻和iOS safari here之間的所有差異。

+0

謝謝。從來沒有想到會是這個問題......所以你爲我節省了一大筆頭。我只是將我的輸入類型更改爲隱藏輸入中的文本,並且一切正常。 – bluebird