2017-10-11 16 views
1

画像をアップロードするフォームがあります。各フォームはiframeに配置されていますonclickイベントはiphoneで動作しません

<body style="margin: 0; padding: 0; height: 100%; cursor: pointer;" onclick="document.querySelector('.register-upload-input').click()"> 
    <form method="POST" action="http://127.0.0.1:8000/de/client/registerupload" accept-charset="UTF-8" enctype="multipart/form-data"> 
     <input class="register-upload-input" style="display: none;" onchange="document.querySelector(".preloader").style.display="block";document.querySelector("form").submit();" accept=".jpg,.jpeg,.png" name="image" type="file"> 
    </form> 
</body 

私はiframeをクリックして、ファイルのアップロードダイアログが表示され、イメージを選択できます。 body要素のイベントはonclickです。 すべて正常に動作しますが、iphoneで画像をアップロードしようとすると、何も起こりません。ダイアログのプロンプトが表示されません。それはアンドロイドで動作しますが、iphoneで動作しません。私は研究をしましたが、通常このような問題は、要素がcursor: pointerスタイルである必要があります。私はそれを追加しましたが、通知は変更されました

答えて

1

あなたの代わりにheight:0pxを設定することができ、<input>display:noneを設定しないでください。

編集:私は私のノートをチェックし

、stackoverflowの上の同じ質問があったことがわかります。

同じ質問はhereです。 falseを返す取り外し、ジャバスクリプトで

  1. ;:

    3つのことは、この問題を引き起こしていますイベントリスナーの

  2. アクションを呼び出す要素には、 cursor:pointer;というプロパティが必要です。おそらくアップル社は、このような要求を の呼び出しに入れて、ユーザーインターフェイスのフィードバックを最大限に引き出しています。

  3. スタイルシートでも、 設定を表示できません。 表示されていない要素のクリックを受け入れないブラウザがあるため、非表示の入力です。

+0

は、それが問題だったと信じてすることはできません動作していません。ありがとうございました –

0

IFrameに次のCSSを追加してください。

html, body { 
    touch-action: auto; 
} 
+0

返信用のおかげで、私はこのスタイルを追加しましたが、まだ –

関連する問題