2009-08-21 5 views
0

私は携帯電話専用のWebアプリケーションを開発していますが、問題が発生しました。私がインストールしたBlackberryエミュレータでは、すべて正常に動作します。しかし、OpenwaveやNokia N60エミュレータを走らせても、私のアプリケーションにはもうログインできません。ログを調べると、$ _POST変数のすべてが空であることがわかります。携帯電話エミュレータでPOST変数が失われるのはなぜですか?

私はそれが問題であると思うことができるすべてについて実行しましたが、私はまだ固執しています。私はWikipediaのリストにある3種類のDOCTYPEをすべて試しました。その機会があれば、すべての種類のヘッダを送信しようとしました。私はちょうど困惑しています。

私の最後のアイデアは、おそらく自分のフォームコード自体が間違っているということですか?私は自分の書式で表を囲み、私が見たすべての例は書式で段落を囲みます。

I.e.

<form> 
    <p> 
     ... stuff ... 
    </p> 
</form> 

そして、私持っている:私は見るの例では

<form action="/" method="POST" class="formic"> 
    <table class="mobile-form"> 
     <tr> 
      <td colspan="2" class="label required">Email address</td> 
     </tr> 
     <tr> 
      <td colspan="2" class="data"><input type="text" name="email" class="text" /></td> 
     </tr> 
     <tr> 
      <td colspan="2" class="label required">Password</td> 
     </tr> 
     <tr> 
      <td><img src="/images/exclamation.png" class="error_icon" value="/images/exclamation.png" /></td> 
      <td class="data"><input type="password" name="password" class="text" /></td> 
     </tr> 
     <tr> 
      <td colspan="2" class="data field-error">You must enter a password.</td> 
     </tr> 
     <tr> 
      <td colspan="2" class="label required">Sign in to:</td> 
     </tr> 
     <tr> 
      <td colspan="2" class="data"> 
       <select name="aspect"> 
        <option value="web">Web interface</option> 
        <option selected="selected" value="mobile">Mobile interface</option> 
       </select> 
      </td> 
     </tr> 
     <tr> 
      <td colspan="2"> 
       <input type="hidden" name="saved_aspect" value="0" /> 
       <label> 
        <input type="checkbox" name="saved_aspect" checked="checked" value="1" /> 
        Save interface choice on this computer. 
       </label> 
      </td> 
     </tr> 
     <tr> 
      <td colspan="2" class="submit"><input type="submit" name="" class="submit" value="Log in" /></td> 
     </tr> 
    </table> 
</form> 

それはそれだろうか?これを実証する文書/仕様はどこにありますか?

答えて

1

入力ボタン(および一般的なフォーム)のコードを表示します。私はこれまでにこの問題を抱えていたと思うし、ボタンはタイプ 'submit'(またはそのような非常にばかな愚かな間違い)ではなかった。

+0

フルフォームコードが追加されました。 –

+0

Damn。私はいくつかの助けをしたいと思う。 –

0

サイトのルートではなくページに投稿すると、動作が変わりますか?

+0

悲しいことに、もともと、このページは誤って結果を/ login/indexに送信していました。これは正しいコントローラパスですが、デフォルトでは/にルーティングされています。サイトのルートとまだダイスをターゲットにするために手動で修正しました。 これはFirefoxとBlackberryで動作するので、OpenwaveとNokiaのサービスでは、より厳しいパーサーや何かと関係があると思います。 –

3

古いNokia Symbian 9 'servies'ブラウザには、ほとんどのHTMLフォーム要素に関連付けられたPOST変数がサーバーに送信されないようにする大きな(IMO)バグがあります。ユーザーにはラジオボタンとチェックボックスがチェックされていますが、フォームを送信するとブラウザは単にPOSTデータを送信できません。私はあなたがN70、N71、およびSymbian 9の他のいくつかの古い携帯電話で報告しているのと同じ問題を全般的に見ているのを観察しました。

古いNokia Symbian 9端末には、「サービス」と「Web」という2つのブラウザがあります。主な違いは、Webkitベースのブラウザには当時の主要なモバイルマークアップ言語であるWMLのサポートが含まれていないため、WAPブラウジング用の「サービス」ブラウザが主な違いであることです。 「サービス」ブラウザは、多くの端末でデフォルトのブラウザとして設定されていた。変更されたときは確かではなく、N95のリリース前後であった。ユーザーがWebkitベースの「ミニマップ」ブラウザを使用しても問題はありませんが、「サービス」ブラウザはPOSTデータを失います。

ユーザーがSMSまたはMMSメッセージのリンクを介してページにアクセスする場合、端末のデフォルトブラウザを使用します。私はバグを修正する方法を知らず、Forum Nokiaや他のサイトに関する情報はほとんどありません。私の制作現場では、私は可能な限りPOSTフォームから離れようとしました。

関連する問題