2012-11-22 182 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.