「html-フォーム送信制御」の編集履歴(バックアップ)一覧はこちら

html-フォーム送信制御」(2008/06/02 (月) 14:01:54) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*html フォーム送信制御 IE70573013とFireFox20014での送信の違い **Enterで送信 (1)Submitボタン無しで、1個のテキストフィールドでEnter -IE7:テキストのValueを返す。 -FFox2:テキストのValueを返す。 (2)(1)で隠しフィールドを1個追加して、1個目のテキストフィールドでEnter 隠しフィールド <input type="text" name="dummy" style="position:absolute;visibility:hidden"> -IE7:送信しない。 -FFox2:送信しない。 **Enter抑止 (1)簡単抑止、制限あり。 <form name="..." action="..." onSubmit="return false" method="POST"> ただし、ボタンnameでvalueを期待できない。標準Submitボタン参照の事。 (2)キーコード判別して抑止。(他にも例はいろいろ見つかる。大体関数になってる) if(event.keyCode==13){ if(window.event.srcElement.type!='submit' && window.event.srcElement.type!='textarea'){ return false; } } **2重送信抑止 (1)単純抑止 onsubmit="this.onsubmit=function(){return false}" (2)送信ボタンをdisable 送信ボタンをdisableにするので、当然その送信ボタンに定義したvalueは送られない。 別途hiddenを用意してvalueを入れる。 **標準Submitボタン (1)1フォーム内にSubmitボタン2個 -IE7:それぞれのSubmitボタンのValueを返す。 -FFox2:それぞれのSubmitボタンのValueを返す。 (2)(1)で、テキストフィールドでEnter -IE7:Value無し。NULL -FFox2:先に定義したSubmitボタンのValueを返す。 (3)(1)で、Actionをシャープにして、ボタン押しまたはENTER。 -IE7:405 -FFox2:405 (4)(1)で、隠しフィールドと onsubmit="return false;" を追加して、テキストフィールドでEnter -IE7:送信しない。ボタンを押しても送信しない。完全抑止。 -FFox2:送信しない。ボタンを押しても送信しない。完全抑止。 (5)(4)で隠しフィールド無し。 -IE7:送信しない。ボタンを押しても送信しない。完全抑止。 -FFox2:送信しない。ボタンを押しても送信しない。完全抑止。 (6)(5)でSubmitボタンに onclick="submit();" を追加して、テキストフィールドでEnter -IE7:送信しない。ボタンを押すとテキスト内容を送信し、ボタンvalueは無し。 -FFox2:テキスト内容を送信、ボタンvalueは無し。ボタンを押しても同様。 (7)Submitボタンのスタイル変更。ボタン内のvalue文字をどう消してみせるかがポイント。 style="width:300px;height:20px;background-image:url('b1.gif'); color:#ff66cc;font-size:20px;border-style:none;background-color:#ffffff;" **汎用ボタン (1)1フォーム内に汎用ボタン2個 -IE7:押しても何もしない。 -FFox2:押しても何もしない。 (2)(1)で、テキストフィールドでEnter -IE7:Value無し。NULL -FFox2:Value無し。NULL (3)(1)で、Actionをシャープにして、ボタン押しまたはENTER。 -IE7:Enterで405 -FFox2:Enterで405 (4)(1)で、onsubmit="return false;" を追加して、テキストフィールドでEnter -IE7:送信しない。ボタンを押しても送信しない。完全抑止。 -FFox2:送信しない。ボタンを押しても送信しない。完全抑止。 (5)(4)で汎用ボタンに onclick="submit();" を追加して、テキストフィールドでEnter -IE7:テキストは送信、ボタンvalue無し。 -FFox2:テキストは送信、ボタンvalue無し。 **イメージボタン イメージボタンは本来、ボタンイメージのxy座標を返すためのもの。 (1)1フォーム内にイメージボタン2個 -IE7:ボタンvalue無し。 -FFox2:それぞれのイメージボタンのValueを返す。 (2)(1)で、テキストフィールドでEnter -IE7:Value無し。NULL -FFox2:先に定義したSubmitボタンのValueを返す。 (3)(1)で、Actionをシャープにして、ボタン押しまたはENTER。 -IE7:405 -FFox2:405 (4)(1)で、隠しフィールドと onsubmit="return false;" を追加して、テキストフィールドでEnter -IE7:送信しない。ボタンを押しても送信しない。完全抑止。テキストフィールドでEnterを押すとカーソル枠がボタンに移動する。 -FFox2:送信しない。ボタンを押しても送信しない。完全抑止。 (5)(4)で隠しフィールド無し。 -IE7:送信しない。ボタンを押しても送信しない。完全抑止。(4)と違い、テキストフィールドでEnterを押してもカーソル枠がボタンに移動しない。 -FFox2:送信しない。ボタンを押しても送信しない。完全抑止。 (6)(5)でイメージボタンに onclick="submit();" を追加して、テキストフィールドでEnter -IE7:送信しない。ボタンを押すとテキスト内容を送信し、ボタンvalueは無し。 -FFox2:テキスト内容を送信、ボタンvalueは無し。ボタンを押しても同様。 (7)(6)でテキストフィールド無し。 -IE7:ボタンを押すと送信し、ボタンvalueは無し。 -FFox2:ボタンを押すと送信し、ボタンvalueは無し。 (8)(7)に<input type="hidden" name="dummy" value="">を追加 -IE7:ボタンを押すと送信し、ボタンvalueは無し。 -FFox2:ボタンを押すと送信し、ボタンvalueは無し。 (9)(8)でボタンを押すと隠しテキストに値を設定するように変更。 -IE7:ボタンを押すと送信し、設定したテキスト内容を返す。ボタンvalueは無し。 -FFox2:ボタンを押すと送信し、設定したテキスト内容を返す。ボタンvalueは無し。 (10)(9)で、テキストフィールドを追加してEnter =>(6)? -IE7:Enterでは送信しない。ボタンを押すと送信し、設定したテキスト内容を返す。 -FFox2:Enterで送信し、先に定義したボタンの設定値を返す。ボタンを押すとボタン設定値を返す。 (11)(10)にテキストフィールドを追加して、入力フィールドを2個にし、Enter -IE7:Enterで送信し、先に定義したボタンの設定値を返す。ボタンを押すとボタン設定を返す。 -FFox2:Enterで送信し、先に定義したボタンの設定値を返す。ボタンを押すとボタン設定を返す。 **まとめ -送信制御する場合は、form部品のボタンは使わない。 -複数個のボタンによる値切替は別途hidden項目を作り、送信時に設定する。 -Enterはガード。 -2重送信は保留(disableにすると逆に混乱する?)。 -javaが無いと動かない。javaが切ってあるときは送信不可。  
*html フォーム送信制御 IE70573013とFireFox20014での送信の違い **Enterで送信 (1)Submitボタン無しで、1個のテキストフィールドでEnter -IE7:テキストのValueを返す。 -FFox2:テキストのValueを返す。 (2)(1)で隠しフィールドを1個追加して、1個目のテキストフィールドでEnter 隠しフィールド <input type="text" name="dummy" style="position:absolute;visibility:hidden"> -IE7:送信しない。 -FFox2:送信しない。 **Enter抑止 (1)簡単抑止、制限あり。 <form name="..." action="..." onSubmit="return false" method="POST"> ただし、ボタンnameでvalueを期待できない。標準Submitボタン参照の事。 (2)キーコード判別して抑止。(他にも例はいろいろ見つかる。大体関数になってる) if(event.keyCode==13){ if(window.event.srcElement.type!='submit' && window.event.srcElement.type!='textarea'){ return false; } } **2重送信抑止 (1)単純抑止 onsubmit="this.onsubmit=function(){return false}" (2)送信ボタンをdisable 送信ボタンをdisableにするので、当然その送信ボタンに定義したvalueは送られない。 別途hiddenを用意してvalueを入れる。 **標準Submitボタン (1)1フォーム内にSubmitボタン2個 -IE7:それぞれのSubmitボタンのValueを返す。 -FFox2:それぞれのSubmitボタンのValueを返す。 (2)(1)で、テキストフィールドでEnter -IE7:Value無し。NULL -FFox2:先に定義したSubmitボタンのValueを返す。 (3)(1)で、Actionをシャープにして、ボタン押しまたはENTER。 -IE7:405 -FFox2:405 (4)(1)で、隠しフィールドと onsubmit="return false;" を追加して、テキストフィールドでEnter -IE7:送信しない。ボタンを押しても送信しない。完全抑止。 -FFox2:送信しない。ボタンを押しても送信しない。完全抑止。 (5)(4)で隠しフィールド無し。 -IE7:送信しない。ボタンを押しても送信しない。完全抑止。 -FFox2:送信しない。ボタンを押しても送信しない。完全抑止。 (6)(5)でSubmitボタンに onclick="submit();" を追加して、テキストフィールドでEnter -IE7:送信しない。ボタンを押すとテキスト内容を送信し、ボタンvalueは無し。 -FFox2:テキスト内容を送信、ボタンvalueは無し。ボタンを押しても同様。 (7)Submitボタンのスタイル変更。ボタン内のvalue文字をどう消してみせるかがポイント。 style="width:300px;height:20px;background-image:url('b1.gif'); color:#ff66cc;font-size:20px;border-style:none;background-color:#ffffff;" **汎用ボタン (1)1フォーム内に汎用ボタン2個 -IE7:押しても何もしない。 -FFox2:押しても何もしない。 (2)(1)で、テキストフィールドでEnter -IE7:Value無し。NULL -FFox2:Value無し。NULL (3)(1)で、Actionをシャープにして、ボタン押しまたはENTER。 -IE7:Enterで405 -FFox2:Enterで405 (4)(1)で、onsubmit="return false;" を追加して、テキストフィールドでEnter -IE7:送信しない。ボタンを押しても送信しない。完全抑止。 -FFox2:送信しない。ボタンを押しても送信しない。完全抑止。 (5)(4)で汎用ボタンに onclick="submit();" を追加して、テキストフィールドでEnter -IE7:テキストは送信、ボタンvalue無し。 -FFox2:テキストは送信、ボタンvalue無し。 **イメージボタン イメージボタンは本来、ボタンイメージのxy座標を返すためのもの。 (1)1フォーム内にイメージボタン2個 -IE7:ボタンvalue無し。 -FFox2:それぞれのイメージボタンのValueを返す。 (2)(1)で、テキストフィールドでEnter -IE7:Value無し。NULL -FFox2:先に定義したSubmitボタンのValueを返す。 (3)(1)で、Actionをシャープにして、ボタン押しまたはENTER。 -IE7:405 -FFox2:405 (4)(1)で、隠しフィールドと onsubmit="return false;" を追加して、テキストフィールドでEnter -IE7:送信しない。ボタンを押しても送信しない。完全抑止。テキストフィールドでEnterを押すとカーソル枠がボタンに移動する。 -FFox2:送信しない。ボタンを押しても送信しない。完全抑止。 (5)(4)で隠しフィールド無し。 -IE7:送信しない。ボタンを押しても送信しない。完全抑止。(4)と違い、テキストフィールドでEnterを押してもカーソル枠がボタンに移動しない。 -FFox2:送信しない。ボタンを押しても送信しない。完全抑止。 (6)(5)でイメージボタンに onclick="submit();" を追加して、テキストフィールドでEnter -IE7:送信しない。ボタンを押すとテキスト内容を送信し、ボタンvalueは無し。 -FFox2:テキスト内容を送信、ボタンvalueは無し。ボタンを押しても同様。 (7)(6)でテキストフィールド無し。 -IE7:ボタンを押すと送信し、ボタンvalueは無し。 -FFox2:ボタンを押すと送信し、ボタンvalueは無し。 (8)(7)に<input type="hidden" name="dummy" value="">を追加 -IE7:ボタンを押すと送信し、ボタンvalueは無し。 -FFox2:ボタンを押すと送信し、ボタンvalueは無し。 (9)(8)でボタンを押すと隠しテキストに値を設定するように変更。 -IE7:ボタンを押すと送信し、設定したテキスト内容を返す。ボタンvalueは無し。 -FFox2:ボタンを押すと送信し、設定したテキスト内容を返す。ボタンvalueは無し。 (10)(9)で、テキストフィールドを追加してEnter =>(6)? -IE7:Enterでは送信しない。ボタンを押すと送信し、設定したテキスト内容を返す。 -FFox2:Enterで送信し、先に定義したボタンの設定値を返す。ボタンを押すとボタン設定値を返す。 (11)(10)にテキストフィールドを追加して、入力フィールドを2個にし、Enter -IE7:Enterで送信し、先に定義したボタンの設定値を返す。ボタンを押すとボタン設定を返す。 -FFox2:Enterで送信し、先に定義したボタンの設定値を返す。ボタンを押すとボタン設定を返す。 **まとめ -送信制御する場合は、form部品のボタンは使わない。画像を貼って、onclickでsubmitする。 -複数個のボタンによる値切替は別途hidden項目を作り、送信時に設定する。 -Enterはガード。 -2重送信は保留(disableにすると逆に混乱する?)。 -javaが無いと動かない。javaが切ってあるときは送信不可。  

表示オプション

横に並べて表示:
変化行の前後のみ表示:
記事メニュー
人気記事ランキング
目安箱バナー