セルフページでHTMLフォームを送信する


103

HTMLフォームを自分自身に送信してもらいたい。action属性を使用するにはどうすればよいですか?

  1. <form action="">
  2. <form action="#">
  3. <form action="some/address">
  4. <form>

どちらが望ましいですか?


1
私はあなたがこの記事を見てきました願っていますstackoverflow.com/questions/1131781/...
Tariqulazam

ドキュメントの<doctype>は何ですか?それはあなたに答えるのに役立ちます。
ミルシュパターン2013

アクション属性を使用しない単純な
Milche Patern

回答:


124

2013年、すべてのHTML5要素で、 'action'属性を省略してフォームを自己送信できます

<form>

実際、現在のHTML5ドラフトフォーム送信サブセクションでは、 action = ""(空の属性)は許可されていません。仕様に反しています。

以下からのこの他のスタックオーバーフローの答え


1
私は<?php $ _PHP_SELF?>を使用して、アクションを空白にすることはできないというエラーを受け取りました。私はそれをそのままにして
おくのは間違い

2
よくわかりません。w3はaction属性をすべて一緒にしておくことは有効ですが、空のままにしないことはできますか?
ミスターマーティン

$ _GETまたは$ _POSTを使用してパラメーターにアクセスする必要がありますか?
ブラック

21

アクション属性は空白のままにできます。フォームは自動的に同じページに送信されます。

<form action="">

w3c仕様によれば、一般的にアクション属性は空でない有効なURLでなければなりません。また、action属性が空のままにされる場合があるいくつかの状況についての説明もあります。

要素のアクションは、要素が送信ボタンでそのような属性を持つ場合、要素のformaction属性の値、またはフォーム所有者のaction属性の値(ある場合)、または空の文字列です。

したがって、どちらも有効で機能します。

<form action="">
<form action="FULL_URL_STRING_OF_CURRENT_PAGE">

オーディエンスがhtml5ブラウザーを使用していることが確実な場合は、action属性を省略することもできます。

<form>

'action'属性を空のままにして検証できることを確認できますか?
Milche Patern 2013

4
検証しません。:要素フォームの属性アクションの値が不正です:空でない必要があります。
Azd325 14

2
HTML5仕様によると、空の文字列はアクションとして許可されていません:w3c.github.io/html/sec-forms.html#element-attrdef-form-action
Thomas

1
これは私のために働く唯一のものです。<br/> link actionおよびformactionコンテンツ属性は、指定されている場合、スペースで囲まれている可能性のある有効な非空のURLである必要があります。
JoelBondurant 2017年

XMLを検証できるのはあなたしかいないため、「検証しない」という概念はばかげています。それがXMLのポイントです。XMLドキュメントに当てはまり、DTDでそれらをエンコードし、XMLパーサーに一見困難な解析を実行させたい一連のルールを言います。これが今日でもXMLが重要である理由の1つです。JSON、テキスト、csvなど、どのようなモデルでも使用でき、そのフォーマットからXMLへの単純なトランスフォーマーを記述し、そのXMLのDTDを記述して、必要なものをスキップします。独自のバリデーターを書くために、XMLはすでにそれを行いました!
ドミトリー

21

使用?

<form action="?" method="post">

ユーザーを同じページに戻します。


これはすごい!
beppe9000

3
それほど素晴らしいことではありません。これにより、現在のURLのクエリ文字列がある場合、それらがすべて削除されます。
OMA

1
クエリ文字列を削除したい:3
VoidZA


-1

action属性の同じページを使用してそれを行うことができます: action='<yourpage>'

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.