質問

私は「-wap-input-format」CSSプロパティを使用して、「*N」を使用した数値入力を強制しています。307これは SonyEricsson C702 では機能しますが、Windows Mobile IE、Opera を搭載した Windows Mobile、または SonyEricsson P1i では失敗します。

役に立ちましたか?

解決

私の提案もあります。モバイルオペラなど、iPhone、ミニモ(ミニmozilla)により理解できるJavascript、少なくともある。

function noNumbers(e) {
    var keynum;
    var keychar;
    var numcheck;    
    if(window.event) // IE
    {
        keynum = e.keyCode;
    }
    else if(e.which) // Netscape/Firefox/Opera
    {
        keynum = e.which;
    }

    if((keynum >= 48) && (keynum <= 57)) {
        return(true);
    }

    var good_codes = [8, 14, 15, 37, 38, 39, 40];
    for(i = 0; i < good_codes.length; i++) {
        if(good_codes[i] == keynum) {
            return(true);
        }
    }

    return(false);
}

武器agiは、dexで下がらないboxerぐ! : )

metafilter.com

他のヒント

あなたは、どちらかのオペラやiPhone上でJavaScriptを必要とし、おそらくないアンドロイドはありません。ただ、HTML5から、「番号」の入力タイプを使用します。それはそれをサポートしていないブラウザ上のテキスト入力にフォールバックします。

あなたが話しているフォーマットは、 WCSS (WAP CSS) プロパティのため、特に最近のモバイル デバイスでは、あまり広くサポートされていません。

-wap入力フォーマット いずれにしてもあまりうまく機能しません。たとえば、ユーザーに小数点以下の数値入力 (「2.50」) を入力させることは、ほぼ不可能です (最も近い解決策:-wap入力形式:「*ん」).

ただし、このプロパティは検証に依存することはできませんが (Darasd 氏が述べたように、いずれにしてもサーバー側で行う必要があります)、モバイル デバイスの入力を自動的に数値に切り替えることでユーザーを支援できます。

同じです 可能だと言われた iPhone の場合は、入力フィールドの名前に「zip」または「phone」を追加します (例:"myfield_zip")。はい、わかります、これは不格好です。

優れたアフォーダンスをトリガーするため、私は両方のトリックを引き続き使用します (必要に応じて、それらに加えて JavaScript を使用することもできます)。

<input type='tel' /> 

AndroidとiPhoneのデフォルトブラウザとChrome for Androidの上の数値キーパッドが表示されます。これは、Windowsの携帯電話7.5上では動作しませんが、Windowsの携帯電話8にWP8のブラウザはIE9に基づいているはずなので。

使用

<input type='number' /> 

あまりにもこれを実行しますが、自動的に先頭のゼロを削除します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top