フォームを送信するボタンがありますが、別のページにリンクしたい場合もあります。フォームのすべてのフィールドが入力されている場合は、次のページにリンクする必要があります(すべてのフィールドは必須です)。私はこれが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. pollingStatementの結果が空の場合にpostPollStatementに進む
- 2. "ファイルの削除スクリプト"リストのPCがオフになっている場合、次のPCに進みます。問題
- 3. すべてのチェックボックスが空の場合
- 4. Laravel検証は、上記の検証が合格した場合にのみ、次の検証に進みます。
- 5. Cakephp検証後、フォームエラーですべてのフォームフィールドが空になりました
- 6. ページがホームにない場合、どのようにPHPでスタイルシートを読み込むことができますか?
- 7. フラッシュライトのみAndroidのWebページに埋め込むことができます。
- 8. クエリが空でない場合にのみBigQueryのクエリからテーブルに書き込む
- 9. Railsフィールドが空ではない場合でも、空白にすることはできません。
- 10. 計算に使用するExcel式のタイプ(SUM、SUMIFなど)がわからない場合は、適切な方向に進むことができますか?
- 11. Not Isemptyが値を返しても、次の文に進む場合
- 12. Spring Webアプリケーションで空でないページがリクエストされた場合、空白ページになります。
- 13. ファイルが存在する場合はループ、次の繰り返しに進む
- 14. PHP次のページへ進む
- 15. 現在のフォームにない場合は、フォームフィールドを自分のPOSTに含めることはできますか?
- 16. カピバラがボタンをきちんとクリックしたようですが、次のページに進まない
- 17. jQueryは空白でない場合にのみ有効です
- 18. 私たちはforループを作成して、次の反復に進む前にすべての反復でユーザー入力を得ることができます
- 19. SQLiteの更新列のみ値が空でない場合
- 20. カラムが空でないか空でない場合にのみ記入してください。
- 21. Wordpressにユーザーの投稿がない場合、ユーザーのページを表示することはできますか?
- 22. あなたがPHPを読み取ることができない場合は、この更新クエリのみ
- 23. vba、セルが空でない場合にのみコメントを追加する
- 24. テキストボックスが空でない場合にのみ動詞を渡す方法C#
- 25. GoogleシートクエリBが空でない場合のみB = X
- 26. マップ内のすべてのList値が空であるか空でない場合は、Streamsを使用して
- 27. イベントハンドラが既に存在しない場合にのみバインドできますか?
- 28. ページにその特定のスタイルシートが必要ない場合でも、すべてのCSSファイルが読み込まれるのはなぜですか?
- 29. 特定のことが起こった場合にのみ値を返すことはできますか?
- 30. SQLエージェントがステップエラーで通知しても、次のステップに進む
http://www.w3schools.com/js/js_validation.asp –