問題タブ [form-submit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1842 参照

asp.net - 動的に作成されたフォーム送信を処理するにはどうすればよいですか?

asp.net mvcで動的に生成されたフォーム送信を処理するには?

フォームは動的に作成され (要素の数、順序、およびタイプは常に異なります)、asp.net mvc のコントローラーでそれを処理する (データベースにデータを格納する) 必要があります (viewstate はありません)。入力のタイプはすべてです。非表示フィールド、ラジオ ボタン、チェック ボックス、テキスト入力など。

0 投票する
1 に答える
173 参照

php - Flash + PHP で送信フォームを作成するには?

私は Flash アプリを持っており、ユーザーが PHP バックエンドによって処理される情報を送信できるアプリ内ポップアップを配置したいと考えています。mysql インジェクションとアンチボット スパム キャプチャの両方で、これを安全にしたいと考えています。誰かが私を始めるためのいくつかのチュートリアルを親切に教えてもらえますか?

次のチュートリアルが必要です: アプリ内ポップアップ ウィンドウ Flash キャプチャ付き PHP への投稿 (recaptcha が望ましい)。

ありがとう!

0 投票する
7 に答える
226740 参照

form-submit - 無効な入力の値は送信されません

これは、Firefox の Firebug で見つけたものです。

他のブラウザでも同じですか?

もしそうなら、その理由は何ですか?

0 投票する
2 に答える
228 参照

asp.net - それは何のエンコーディングですか?

UTF-8 に設定された HTML ページがあるとします。そして、フォームにbig5のエンコーディングで漢字を入力して送信します。サーバー側でのエンコーディングは何ですか?自動でUTF-8に変換されますか?またはそれはどのように機能しますか?? ありがとう!

補足 1: 実際にはよくわかりませんが、ブラウザがどのエンコーディングを使用するかを決定できるのはなぜですか? エンコードは IME によって生成されたためです。たとえば、漢字を入力するために使用したツールですね。

補足2: すべてが以下の応答で「Michael Madsen」が言ったこととまったく同じである場合、asp.netはこれをどのように処理できるので、フォームに文字をどのように入力しても、常に破損することはありませんが、jspはできますん?

0 投票する
2 に答える
2343 参照

javascript - JavaScript を使用したフォームで複数の送信ボタンを処理する

多くのフィールドと 2 つの送信ボタンがあるフォームがあります。クリックした送信ボタンに応じて、異なるチェックを実行したい。以下のコードを書いてみましたが、間違っています (私は JS を知りません) 何も起こりません (構文が悪いのでしょうか?)。2 つのボタンのどちらがクリックされたかを確認するにはどうすればよいですか?

0 投票する
2 に答える
2220 参照

html - すべてのブラウザの扱いは、フォーム内で同じ (キー 13) を入力しますか?

複数の送信ボタンを持つフォームがあります。それぞれのボタンは、ユーザーがデータを保存および/またはロードする方法に関連しています。

問題は、ユーザーがフォーム内の最後の (またはその他の) 入力で Enter キーを押した場合、呼び出されたように見える送信ボタンが、フォームの上部にある「保存されたフォームの読み込み」であったことです。JavaScript を使用して戻るボタンのデフォルトを「フォームの保存」にしようとする試みはすべて無駄に思えました。まるでブラウザがすでにフォームを送信するのに忙しくて、js が干渉しないかのようでした。

最後に、FireFox 3.5 では、実際にサーバー側のスクリプトに、post変数に対して受け取った内容をエコーアウトさせ、送信ボタンの値がサーバーに返されていないことを発見しました。結局のところ、ユーザーが「保存」または「保存して印刷」などを押したときのスクリプトにフックがありますが、ユーザーが「ページの読み込み」を使用すると、変数が更新され、通常どおりページの読み込みが続行されますコンテキスト内のその変数。

したがって、送信ボタンの値がまったくなくても、同じことを行い、単にページをロードしました。

それで、大きな質問に進みます:

これは典型的なブラウザの動作ですか? 信頼できるブラウザの動作でさえありますか?Enter キーを押すと、送信ボタンがまったく押されていないかのように常にフォームが送信されますか、それともユーザーが Enter キーを押したときにデフォルトとして使用するボタンを選択するブラウザがありますか?

これが典型的な行動である場合、推奨される一連の行動は何ですか? フォームにデータがある限り、何があってもスクリプトに保存させるつもりでしたが、これはさらに危険であることに気付きました。フォームの日付とヒット「フォームの読み込み」をクリックすると、要求された新しい日付の前のフォームからフォーム データが保存されます。

サーバーが空のフォームを受信し、以前のデータを上書きしないように、ロードフォームの入力 (日付やその他の詳細を選択) を変更するとフォームがクリアされるように設定することを検討しましたが、これも危険です。多くのユーザーは確かにデータが失われたことに気付き、考えるでしょう。また、ユーザーがフォームをほぼ使い果たし、確認のために一番上に移動してフォームの読み込み選択をいじる可能性が常にわずかにあります。彼らは正しいことを選択し、最初からやり直すことを余儀なくされました。

ロード用とデータ用の 2 つのフォームが必要ですが、フォームのロード部分のすべてのデータがメイン フォームで使用されるという問題があります。送信時に 2 つを結合するため、または 2 番目のフォームのデータを非表示にするために、さらに js を作成することもできますが、それはすべて不格好に思えます。

基本的に、フォームの上部がメイン フォームから独立しているように設定する必要がありますが、その逆は必要ありません。上のフォームを送信しても下のフォームは送信されませんが、下のフォームを送信すると上のフォームが送信されます。

さて、私は十分に長く行ってきました。基本的に、解決策が既に存在するのか、それとも他の誰かがこれに遭遇して巧妙な修正を見つけたのか疑問に思っています. フォームが空でないときはいつでもフォームを保存するのはかなり賢いと思っていましたが、ユーザーがページに移動すると、日付を指定して最も適切なフォームを自動ロードし、ロード変数を変更することに気付くまではほとんどの場合、問題が発生します。


Artelius が私の注意を引くのに十分だった可能性のある重複を読んだ後でも、Enter ボタンを送信することに関するブラウザー間の一貫性についてはまだ不明です。

その質問のほとんどの人は、Enter キーを押すと最初に利用可能な送信が押されると想定していたようです。これは、フォームの上部にある別の送信ボタンを非表示にして (CSS を介して) 入力したいものを入力して達成することを友人が提案するまで、私の仮定でもありました。これで同じ結果が得られたとき、サーバーに渡されたものを最終的に確認しました (つまり、送信値に関しては何もありません)。つまり、どちらかを意味します

a)「送信ボタンなしで入力して送信する」は、一部またはすべてのブラウザーの新しい動作です。

b)「送信するだけで入力する」と「最初の送信ボタンとして入力する」は単なるブラウザの選択であり、傾向はなく、典型的なクロスブラウザの信頼性の欠如、または

if (situation1) else (assume not situation1)c) 私たちのほとんどはコードを書いているだけで、ブラウザが何をしているのか本当にわかっていないので、誰もが「最初の送信ボタンとして入力する」ことが当てはまると思い込んでいます。

私はそれが最後のものであることを非常に疑っていますが、繰り返しになりますが、私たちのほとんどがどのブラウザが何をするかを知っていることも非常に疑わしいです. 私が伝えることができるストレートな答えがあれば、私はそれが好きです.

ああ、最後に: ボタンを使用する方がはるかに簡単であることはわかっており、それを真剣に検討していますが、他のオプションも検討したいと思います。実際に私が持っている送信ボタンを減らす必要があるのは、ユーザーがいついずれかのボタンの代わりに Enter キーを押します。

実際、もう 1 秒夢中にさせてください。

私が本当に知る必要がある唯一のことは、テキスト入力の 1 つから Enter キーを押したかどうかです。それをサーバーに渡すことができれば、フォームを保存するかリロードする必要があるかがわかります。しかし、問題 (または少なくとも私が問題を抱えていたこと) は、ユーザーが入力を入力したときに、何かをキャプチャするための js の再生時間がないように見えることです。ブラウザがonclick送信ボタンをトリガーしているように、それをトリガーした実際のイベントを実際に知ることはできません。私はjqueryをもっといじってみますが、この動作は他の誰かによって観察されましたか?

0 投票する
3 に答える
17751 参照

jquery - フォーム送信時に確認ダイアログを表示するJquery

画像クリック時に確認ダイアログを表示する必要があります。画像の「onclick」セクションのコードは、jquery確認ダイアログがtrueを返した場合にのみ実行する必要があります。

この時点で、ユーザーが$( "。submit_image")をクリックすると、ダイアログが表示されますが、フォームは引き続き送信されます。

ロジックは、jquery.alertsプラグインまたは通常のjavascript確認ダイアログの両方で同じである必要があります。

0 投票する
3 に答える
617 参照

javascript - form.submit() の呼び出し時に「成功」​​ボタンを含める

私はアプライアンスのような製品の Web GUI に取り組んでいます。

私は正常に動作する HTML フォームを持っています。チェックボックス付きのリストが表示され、ユーザーはそれらのいくつかをチェックして、フォームを送信する「削除」ボタンをクリックします。サーバーは POST を取得し、アイテムを削除して、ページを更新します。大丈夫だ。

「よろしいですか?」を追加する必要があります。フォームへの確認。への呼び出しを追加すると

FORM タグの onsubmit メソッド、または送信ボタン タグの onclick として、正常に動作しますが、見苦しいブラウザー ネイティブの確認ダイアログを使用します。

製品の他の場所には、私が使用したい素敵なカスタム CSS スタイルの確認ダイアログがありますが、それは次のように機能します: 適切な場所で、

これにより、クリックマスクが設定され、ダイアログがカスタマイズされ、中央に配置されて表示され、FALSE が返され、フォームが送信されません。

後でユーザーが決定したときに「はい」を押すと、confirmCallback 関数が呼び出されます。もう 1 つの製品の Ajax ベースのページでは、情報を収集し、postBody を作成し、Prototype の Ajax オブジェクトを使用して投稿します。すべて問題ありません。(「いいえ」の場合、ダイアログとクリックマスクが削除され、処理が続行されます。)

純粋な HTML フォームを使用したこの単純なページには、次のような confirmCallback 関数があります。

それはOKですが、フォームが送信されると、削除ボタンはすでにクリックされており、カスタム確認によって返された false は送信を抑制しました。代わりに、これは新しい送信と見なされ、削除ボタンは実際にはクリックされていないため、W3.org の HTML 4 標準セクション 17.13.3 に関して「成功」とは見なされません。サーバーはデータを取得しますが、削除ボタンはありません。

ここまで読んでくれてありがとう。これが私の実際の質問です。クロスブラウザの方法で、confirmCallback JavaScript 関数で、削除ボタンを起動させ、「成功」させ、残りのデータと一緒に送信するにはどうすればよいですか?

0 投票する
1 に答える
765 参照

jquery - XAJAX を使用したフォームの検証

ユーザーがいつフォームを送信したかを特定するために jQuery を使用しています。次に、xajax を使用して php メソッドを呼び出してデータベースにクエリを実行し、ユーザー名と電子メール アドレスがまだ使用されていないことを確認します。

code>

次に、validateEmailAddressAndUsername でデータベースにクエリを実行し、この方法で検証します。

私が遭遇した問題は、jquery が非同期であり、フォームが送信される前に適切な xajax 応答を持つスクリプトを追加する方法がないことです。どうすればこの問題に対処できますか?
別の方法で行う必要がありますか?

ありがとうございました