2013-07-22 11 views
26

私は、htmlファイルhtml形式の "action = '?'"というエントリは何を意味しますか?

'<form action="?" ... ' 

私はそれが何をするか理解していないのエントリを発見しました。 Googleで検索した結果は見つかりませんでした。実際にはそれはDjangoテンプレートファイルですが、私はdjangoテンプレートのドキュメントで何も見つかりませんでした。

+0

正確に同じものを説明する[別の質問への回答](https://stackoverflow.com/a/415335/8554766) –

答えて

34

フォームのアクションとして空のクエリ文字列を持つ現在のURLを使用します。 emptyクエリ文字列。 。意味クエリ文字列が全くありません。クエリ文字列はもう消えません。それは使用されません。それはなくなるだろう。フォームを送信した後にクエリ文字列はなくなります。クエリ文字列は消えてしまいます。消えた。去って。もう終わりなさい。

+1

つまり、action = ""の同義語ですか? – user2605845

+10

空のアクションは、クエリ文字列をクリアしません。 –

+1

@ IgnacioVazquez-Abramsあなたは答えにあなたのコメントを追加する必要があります! –

2

URLを知らないとフォームを送信して と指定すると、URLに疑問符(?) を追加して同じページをリロードします。

つまり、フォームは同じページ自体に対して送信されます。それは フォームがリロードされたことを示します。

注:動作する場合でも、アクションプロパティを空白のままにしておくことができます。

+1

引用元は何ですか? – AD7six

4

action = atrributeには値のみがあります。 URLです。簡単な英語で フォームが処理されていて、送信ボタンを押すか、あなたがURLにリダイレクトされます入るとあなたはaction属性に与える

例:

<form action="demo_form.asp" method="get"> 
    First name: <input type="text" name="fname"><br> 
    Last name: <input type="text" name="lname"><br> 
    <input type="submit" value="Submit"> 
</form> 

あなたの場合は質問し、アクションが「?」の場合返されたハッシュ文字列は現在のURLプラス "/?"になります。あなたが行っていたのと同じページに戻ってくる。

action = ""はページのアドレスに解決されます。 action = "?"ページのアドレス+?に解決されます。これは、空のフラグメント識別子を意味します。

後者を実行すると、同じページにナビゲーション(新しい読み込み)ができず、その代わりにフラグメント識別子のidを持つ要素にジャンプしようとする可能性があります。しかし、それは空であるため、どこにもジャンプしません。

通常、スクリプト作成者が代わりにスクリプトを使用している場合、作成者は#hrefのような属性に属性を使用します。このような場合、action = ""を使用することができます(または、検証で許可されている場合は省略することもできます)。

+0

これは正確にはどういう意味ですか? 'action ="? "ページのアドレス+?に解決され、空のフラグメント識別子を意味します。[フラグメント識別子](http://www.w3.org/DesignIssues/Fragment.html) – godfrzero

1
<form name="test" action="process.php" method="get"> 
<input type="submit" value="Submit"> 

ここで使用されるアクションは、送信ボタンをクリックした後にprocess.phpページに移動します。 簡潔に言えば、action=は、フォームに記入して送信した後、指定されたページ(action=に記載されている)に移動するために使用されます。

-1

アクションはフォームが送信されたときに入力制御を処理する

+1

質問はアクション属性ではありません。問題はなぜそれが疑問符を指しているのかです... –

3

'<form action="?" ... 'がフォームを送信する際、URLのオフクエリ文字列を取り除き、そして提出ファイルのURLを指定するためのフォームで使用される属性であります現在の文書アドレス(すなわち、それ自身)へのフォーム。ここで

はそれが何を意味するのかである:

はのは、一例として、次のURLを使用してみましょう:?

ExampleSite.com ** SearchTerm1 =チョコレート& SearchTerm2 =ケーキ**

このURLは、クエリが含まれています文字列 '?SearchTerm1 = chocolate & SearchTerm2 = cake' このクエリ文字列をURLに添付されたWebサイトサーバーに送信します。

サーバーに渡されるURLからクエリ文字列が削除される(つまり、クエリが文字列が完全に削除される)ことを保証し、URLのみが渡されるようにすることがあります。

完全なURLとクエリ文字列を使用してExampleSite.com?SearchTerm1 =チョコレート& SearchTerm2 =ケーキ****

今あなたがそのページを取得し、そこにある、あなたがページをブックマークしましょう検索フォーム。

あなたが何か新しいものを検索するための検索フォームを使用することを決定したが...

'<form action="?" ... '

、上記使用されるように、フォームが送信されたURLからクエリ文字列を削除し、にフォームを送信しますそれが来たのと同じページ( 通常は 'コントローラ'(ユーザがそれに送信した情報をどう処理するかを決定するプログラミングのページ))。

関連する問題