フォームを送信するボタンがありますが、別のページにリンクしたい場合もあります。フォームのすべてのフィールドが入力されている場合は、次のページにリンクする必要があります(すべてのフィールドは必須です)。私はこれがJavaScriptを含むと思っていますが、それは問題ありませんが、私はjQueryを避けたいと思います。ありがとう。すべてのフォームフィールドが空でない場合にのみ、次のページに進むことができます
-1
A
答えて
1
通常の方法では、通常のフォーム送信とPOST
-Redirect-GET
を組み合わせて使用します(サーバーはフォームの送信を受け付けてからページをリダイレクトします)。フォームの送信が成功した
<form method="post" action="/what/ever">
<label>Name: <input required></label>
<label>Email: <input type="email" required></label>
<input type="submit" value="Send">
</form>
した後、サーバーからページをリダイレクトする:あなたがする必要があるすべてのようにのようなrequired
としてフィールドをマークしている通常のフォーム送信に
、次のページ(または何らかの問題が発生した場合のエラーページ)に表示されます。
0
フォームの検証は、HTML5 required
フィールドを使用して簡単にクライアント側で行うことができます。
<input type="text" required />
ただし、すべてのブラウザでHTML5がサポートされていないため、JavaScriptベースのソリューションを使用することができます。これは、無限に実装できます。たとえば、送信ボタンにイベントリスナーを追加し、すべてのフィールドが空でないことを確認し、それ以外の場合は送信を禁止します。
var form = document.forms["form-name"];
var formFields = form.getElementsByTagName("input");
form.addEventListener("submit", function (event) {
var validationOk = true;
for (var i = 0; i < formFields.length; i++) {
if (formFields[i].value == "") {
validationOk = false;
// Here you probably also want to give the user some kind
// of feedback by adding a class to the field or similar
}
}
if (!validationOk) {
event.preventDefault();
}
});
しかし、セキュリティの観点から、あなたはは、クライアント側の検証を信頼していないのではなく、限りの検証だけではなく、ユーザーエクスペリエンスを改善するためであるとして、それをサーバ側の操作を行いんことに注意してください。
関連する問題
- 1. ファイルが開いていない場合は、次へ進む
- 2. クロールクモが次のページに進まない
- 3. pollingStatementの結果が空の場合にpostPollStatementに進む
- 4. これらのページで特定のカスタムフィールドが空でない場合のみ、子ページを一覧表示する
- 5. "ファイルの削除スクリプト"リストのPCがオフになっている場合、次のPCに進みます。問題
- 6. 空きがない場合にのみ別の列にリストがオーバーフローする
- 7. すべてのチェックボックスが空の場合
- 8. ListViewが空でない場合のみ(アイテムを含む)TextBoxを表示する
- 9. Cakephp検証後、フォームエラーですべてのフォームフィールドが空になりました
- 10. Laravel検証は、上記の検証が合格した場合にのみ、次の検証に進みます。
- 11. ディレクトリが空でない場合にのみアクションを実行
- 12. SQL SELECTフィールドが空でない場合にのみ
- 13. フラッシュライトのみAndroidのWebページに埋め込むことができます。
- 14. ページがホームにない場合、どのようにPHPでスタイルシートを読み込むことができますか?
- 15. Chromecastオーディオの再生中に次の曲や他の曲に進むことができない
- 16. 計算に使用するExcel式のタイプ(SUM、SUMIFなど)がわからない場合は、適切な方向に進むことができますか?
- 17. Railsフィールドが空ではない場合でも、空白にすることはできません。
- 18. クエリが空でない場合にのみBigQueryのクエリからテーブルに書き込む
- 19. Not Isemptyが値を返しても、次の文に進む場合
- 20. Spring Webアプリケーションで空でないページがリクエストされた場合、空白ページになります。
- 21. ファイルが存在する場合はループ、次の繰り返しに進む
- 22. Laravelはフィールドが空でない場合にのみダウンロードします
- 23. PHP次のページへ進む
- 24. [続行]ボタンをクリックして終了ボタンをクリックして次のページに進むことはできません
- 25. 現在のフォームにない場合は、フォームフィールドを自分のPOSTに含めることはできますか?
- 26. カピバラがボタンをきちんとクリックしたようですが、次のページに進まない
- 27. jQueryは空白でない場合にのみ有効です
- 28. 次のページに進む前に検証してください
- 29. 私たちはforループを作成して、次の反復に進む前にすべての反復でユーザー入力を得ることができます
- 30. ソースセルが空白でない場合は範囲を更新し、それ以外の場合は次へ進みます
http://www.w3schools.com/js/js_validation.asp –