2011-02-10 14 views
1

(クライアント側の検証ロジックでRequiredFieldValidator、RegularExpressionValidator、CustomValidatorを使用して)クライアント側の検証に問題があります。 WebForm_DoPostBackWithOptionsが発生していないか、フォームが有効であるかどうかにかかわらずポストバックを行うようにする処理されない例外が発生するようです。クライアント側の検証がAndroidブラウザで機能しない

私はジャバスクリプトがサポートされている場合、それを隠して、にValidationSummaryを使用してみました:

<script> 
    $(document).ready(function() { 
     $("#javascriptDisabled").hide(); 
    } 
</script> 
... 
<div id="javascriptDisabled"> 
    <asp:ValidationSummary runat="server" ...> 
</div> 
... 
<asp:Button runat="server" OnClick="SendMessage" ...> 

私は.csコードは次のとおりです。

protected void SendMessage(object sender, EventArgs e) 
{ 
    if(!Page.IsValid) return; 
} 

すべてのものが私のラップトップ上無効にJavaScriptを使用してChromeで正常に動作し、私のAndroidの携帯電話ではありません。問題は、電話機でJavascriptが無効になっていないこと、有効になっていること、ValidationSummaryが正しく表示されていないことです。何らかの理由でクライアント側の検証が実行されません(Androidブラウザの開発者ツールはありません)。 これは非常にイライラさせられる:(誰かが助けることができる

おかげ

EDIT:!?!。(存在する場合ではなく、ソリューション)私は私のページAに使用している原因を見つけましたTelerik RadEditorは、クライアントがAndroidのデフォルトブラウザである場合、必要なすべての埋め込みスクリプトを正しくレンダリングせず、javascriptの例外と(おそらく)jaの無効化を引き起こしますブラウザによるvascriptランタイムこれにより、クライアント側の検証がもう機能しなくなります。 Telerikとこの問題の解決方法があるかどうかを調査します。

+0

Androidエミュレータで実行してみましたか?多分これがあなたを助けますか? http://www.nanaze.com/2009/01/debugging-javascript-on-android.html –

+0

こんにちはセバスチャンとあなたの答えに感謝します。はい、私はエミュレータ(明らかに同じ結果)を試しましたが、私はそれがどのように役立つか分かりません。私はアンドロイドのデフォルトのブラウザの動作を変更することはできません、私は私のアプリケーションでそれを修正するためのいくつかの方法を見つける必要があります... –

答えて

0

ファイトラーで試してください。試してみると、私はフィドラープロキシ経由で動作するようにエミュレータをセットアップする必要があります。私のアプリでそれをやって(私はまた、.NETの認証されたWSにデータを入れている)、それは働いた。

Saludos、OSCAR。

+0

こんにちはオスカー、あなたの答えをありがとう。私はフィドラーを使ってみましたが、アンドロイドブラウザを使用しているときにページレンダリングにいくつかの問題があることを発見しました(EDITを参照)。 –

0

EDIT:原因を見つけました(ただし、解決策はありません)。私は私のページでTelerik RadEditorコントロールを使用しています。クライアントがAndroidのデフォルトブラウザであれば、必要な組み込みスクリプトが正しくレンダリングされず、javascriptの例外が発生し、ブラウザによってjavacriptランタイムが無効になる可能性があります。これにより、クライアント側の検証がもう機能しなくなります。 Telerikとこの問題の解決方法があるかどうかを調査します。

関連する問題