2015-10-19 65 views
1

我有一個被角處理的基本形式形式(類和標籤爲清楚起見省略):角提交上輸入不工作的號碼輸入移動

<form> 
    <input type="text" /> 
    <input type="number" /> 
</form> 

在桌面視圖,兩個輸入允許我按Enter鍵將表單提交給Angular。

但是,在移動視圖上(在Chrome Android 5.0上測試),只有文本輸入允許按下輸入按鈕才能將表單提交到Angular。在數字輸入過程中按下Enter按鈕時,沒有任何反應。

這是一個已知的錯誤嗎?針對此問題是否存在解決方法?

編輯:

同樣的情況也發生在只有一個輸入的情況下:

<form> 
    <input type="text" /> 
</form> 

<form> 
    <input type="number" /> 
</form> 

回答

2

移動鍵盤不工作,你認爲它的方式,這就是問題所在。如果表格中只有1個輸入字段,則回車鍵提交表格,但如果有2個或更多輸入鍵移動到下一個輸入。

在您的<form>示例中,它缺少數字字段後的提交按鈕。所以Chrome沒有接下來的輸入。所以這只是一個死路一條。

您可以嘗試添加一個<input type="submit" value="Go">並將其可見性設置爲0.我建議至少有一個小提交圖標。

僅通過輸入鍵提交的表單在設計上不具有移動友好性。

下面是一個類似SO問題的引用:

HTML: Why does Android browser show "Go" instead of "Next" in keyboard?

+0

如果只有文字輸入存在不提交輸入,移動鍵盤將提交表單。如果只有輸入的數字沒有提交輸入,手機鍵盤將不會提交表單...因此,理論上Angular沒有要求我們提交表單。那麼爲什麼移動鍵盤的不同行爲在這兩種輸入類型之間輸入按鈕? – Propaganistas

+1

這不是一個角度問題。 Chrome瀏覽器對單個文本輸入的默認行爲是假設它是一個搜索字段。如果該字段是數字類型,則提交沒有默認名稱,因此Chrome不知道要輸入密鑰的內容。所以它只是忽略它。這是我知道的轉儲,但這就是我的理解。 – cgTag

+0

好的,感謝您澄清作爲搜索字段的文本輸入的默認行爲。後續問題:如果一個可見的