アカウント名:
パスワード:
フォームを送信しようとしたときにチェックするというのは、form の submit をフックするということですかね。それだと「JavaScriptでフォーム内容を取得し、Ajaxで送信する」タイプのページはどうなるんでしょう。ちょっと考えてみたのですが
A) form の submit 時のみチェックして警告を出す →ajaxではmaxlengthを超えたデータが送信されてしまう
B) http request 発行時に警告を出すC) JavaScriptでフォーム内容取得時に警告を出す →どちらも、そこで処理中断されることを想定していない、既存のページでは、警告を出したあとのエラー復帰ができないケースがありそう。
ってことで、JavaScriptでの処理を従来通り正常に進行させるためには、フォーム送信時ではなく、入力(ペースト)段階で「maxlengthを超えたら、そのフォームにフォーカスしたままになり、maxlength以下に収めるまで他の操作をできなくする」ようにするしかないような気がします。
> A) form の submit 時のみチェックして警告を出す> →ajaxではmaxlengthを超えたデータが送信されてしまう
そもそもこれは既存でも起こそうと思えば起こせるので、APIなりでチェックするのが正しいのでは?(開発者ツールでチェック外すとか。)
APIでチェックするのは勿論必須なのだけど、送信前に長さチェック出来ればできたほうが利用者にとってはありがたい。ネットワーク介さずに済む分速いからね。さらに言えば入力出来ないほうがその時点で気付けていい。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
Stay hungry, Stay foolish. -- Steven Paul Jobs
フォーム送信時のチェックはやめて (スコア:1)
フォームを送信しようとしたときにチェックするというのは、form の submit をフックするということですかね。それだと「JavaScriptでフォーム内容を取得し、Ajaxで送信する」タイプのページはどうなるんでしょう。ちょっと考えてみたのですが
A) form の submit 時のみチェックして警告を出す
→ajaxではmaxlengthを超えたデータが送信されてしまう
B) http request 発行時に警告を出す
C) JavaScriptでフォーム内容取得時に警告を出す
→どちらも、そこで処理中断されることを想定していない、既存のページでは、警告を出したあとのエラー復帰ができないケースがありそう。
ってことで、JavaScriptでの処理を従来通り正常に進行させるためには、フォーム送信時ではなく、入力(ペースト)段階で
「maxlengthを超えたら、そのフォームにフォーカスしたままになり、maxlength以下に収めるまで他の操作をできなくする」
ようにするしかないような気がします。
Re:フォーム送信時のチェックはやめて (スコア:0)
> A) form の submit 時のみチェックして警告を出す
> →ajaxではmaxlengthを超えたデータが送信されてしまう
そもそもこれは既存でも起こそうと思えば起こせるので、APIなりでチェックするのが正しいのでは?
(開発者ツールでチェック外すとか。)
Re: (スコア:0)
APIでチェックするのは勿論必須なのだけど、送信前に長さチェック出来ればできたほうが利用者にとってはありがたい。
ネットワーク介さずに済む分速いからね。
さらに言えば入力出来ないほうがその時点で気付けていい。