2016-07-29 3 views
0

私は次のコードを持っています。私はこの問題の一番下にあるように一時的なアラートを出しています。携帯でChromeを起動しないkeydown

この機能は、Asp.NetテキストボックスとRequiredFieldValidatorに基づいています。 「入力」を押すと、テキストボックスのステータスが取得され、何かが実行されるという考えがあります。

は今、ここに奇妙なビットです:

私はテキストボックスに、標準タイプ=「テキスト」を使用している場合 - そのわずか不履行私は実際にこれを追加しない、それはすべてのブラウザ/デバイス上で動作します。

作品では、有効な項目、つまりテキストボックスに何も入力しないと、エラーが表示されるはずです。

type = "tel"またはtype = "number"を使用すると、FirefoxとChromeデスクトップでは動作しますが、モバイルでは動作しません。

以下のコードに従ってアラートを追加すると、モバイルも機能します。

function enterKeyPressed(e) { 
     alert("function called"); 
     if (e.which == 13) { 
      alert("enter pressed"); 
      var isValid = updateInputState.call(this, false); 
      alert(isValid); 
      if (isValid) { 
       var next = findNextTabStop.call(this); 
       next.focus(); 
      } 
     } 
    } 

どこから始めればいいですか?

答えて

1

は、ここで私のために働いたものだ - デスクトップ、モバイル、すべてのHTML5の入力タイプ。

function enterKeyPressed(e) { 
     if (e.which == "13") { 
      e.preventDefault(); 
      // Do something 
     } 
    } 
0

whichの代わりにkeyを使用してみてください:

function enterKeyPressed(e) { 
    alert("function called"); 
     if (e.key == "Enter") { 
     alert("enter pressed"); 
     var isValid = updateInputState.call(this, false); 
     alert(isValid); 
     if (isValid) { 
      var next = findNextTabStop.call(this); 
      next.focus(); 
     } 
    } 
} 
+0

同じ結果が試されました。 –

+0

それは非常に奇妙です - 私がtype = "tel"を削除すると、動作します。 –

+1

数字のキーパッドの「Enter」キーは、この番号の下にあるように見えます。 –

関連する問題