2012-11-22 294 views
65

我想HTML形式的自我頁面上提交,如何使用action屬性附加傷害提交HTML表單

<form action=""> 

<form action="#"> 

<form action="here write addres this page"> 

或只是簡單的不使用action屬性?

什麼是更好的方法?

+1

我希望你看到這篇文章http://stackoverflow.com/問題/ 1131781 /它是一個很好的做法 - 使用一個空的url爲HTML表單動作屬性一 – Tariqulazam

+0

什麼是你的文件??它將幫助回答你。 –

+0

只是簡單的不使用動作屬性 –

回答

1

可以使用在action屬性相同的頁面做到這一點:action='<yourpage>'

6

您可以將action屬性空白。表單將自動在同一頁面提交。

<form action=""> 

更新#1

按照w3c specification,action屬性必須是一般的非空有效的URL。對於某些情況,也可能會解釋action屬性可能爲空。

元素的動作元素的formaction屬性的值,如果元素是一個提交按鈕,具有這樣的屬性,或者其所屬表單的action屬性的值,如果有的話,要不然空的字符串。

因此,他們都仍然有效,工作原理:

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

更新#2

如果你確定你的受衆使用的是HTML5的瀏覽器,那麼你甚至可以省略action屬性:

<form> 
+0

你能確認'動作'屬性可以留空並驗證嗎? –

+3

不是va lidate。 :元素窗體上屬性操作的值不正確:必須爲非空值。 – Azd325

+1

根據HTML5規範,不允許使用空字符串作爲動作:http://w3c.github.io/html/sec-forms.html#element-attrdef-form-action – Thomas

86

2013年,所有HTML5的東西,你可以ommit「行動」屬性自提交表單

<form> 

其實,Form Submission subsection of the current HTML5 draft不允許行動=「」(空屬性)。這違反了規範。

this other Stackoverflow answer

+1

我使用了<?php $ _PHP_SELF?>,並且得到了錯誤,那個動作不能是空白的,我想我只是把它關掉 – Drewdin

+0

我很困惑。它是否有效將所有'action'屬性放在一起,但不要將它留空? –

1

使用? ,

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

它會幫助你保持相同的頁面

0

在嘗試這種形式相同的操作頁面的網址,就會直接在同一頁面

形式行動=「/ cgi-bin目錄/ HTML5 。CGI」方法=‘獲得’

8

如果你正在使用PHP一定要使用提交表單:

action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" 

for security.