簡體   English   中英

有沒有人遇到過一種形式元素在iOS / iPhone上激活另一種形式元素的經歷?

[英]Has anyone experienced one form element activating another on iOS / iPhone?

我有一個出現在FancyBox iframe模式中的表單。 在iOS 5上(特別是在iPhone上-在iPad上不存在),當我觸摸“提交”按鈕時,它會激活一個<select> ,該<select>出現在“提交”按鈕上方約50像素處,然后我在屏幕上看到<select>選項。屏幕底部。

我已經盡可能地放大以確認我沒有觸摸選擇-我確實單擊了提交按鈕,並且它按預期突出顯示了自己,但是當然表單沒有提交,我可以選擇從。

有人在iOS 5中遇到過這樣的錯誤嗎? 我無法將其歸結為其他任何東西–通常有一些JavaScript會在提交點擊時運行以處理表單,但它根本沒有被激活,並且對表單本身, <select>等沒有任何影響。我在iOS上看到iframe時遇到了一些奇怪的事情,想知道是否存在潛在的相關性。

您可能具有將要執行的操作的連接轉到與插座不同的按鈕。 這就可以解釋為什么會發生正確的事情(動作是可以的),但是更新Frame Rect會搞砸了(輸出在錯誤的按鈕上)。

ios上的iframe與其他所有瀏覽器(包括桌面瀏覽器)中的iframe都不一樣。

ios Safari瀏覽器將它們呈現在iframe中頁面的整個高度。

為了讓它們像固定高度的普通iframe一樣滾動,您必須將它們放入div並將div溢出設置為自動或滾動。 我猜想您的模式疊加已經在這樣做了。

但是,即使沒有特殊定位的普通頁面內iframe(使用父div裁剪其高度並使其可滾動以外)也通常只能使提交按鈕工作1次,前提是提交按鈕的原始呈現位置低於折疊按鈕的折痕父級

因此,第一個提交將起作用,但是如果表單因缺少必填字段錯誤而返回,則無法再次單擊“提交”按鈕。

在我的舊ipad上進行的進一步研究表明,如果“提交”按鈕的下降幅度足夠大,則第一次無法使用。

該錯誤存在於Safari瀏覽器中(適用於ios 5.1.1和ios 8)

我可以在iframe中任何不是輸入type = submit的元素上使用onclick javascript函數,以強制將表單設置為form.submit()。

但是特別是關於iphone的問題,可能是操作系統試圖放大到表單字段,以便用戶可以清楚地看到他們在鍵入什么。 解決此問題的方法可能是在輸入元素上聲明至少16px的字體大小。 這樣一來,操作系統便知道該字段中的文本已經具有相當可讀的大小,並且不會嘗試放大。即使在ios 8中,在絕對定位的模式疊加層中放大iframe的內容也是超級漏洞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM