【问题标题】:What does it mean when the form action attribute is "#" (number/pound symbol/sign/character)?当表单动作属性为“#”(数字/磅符号/符号/字符)时是什么意思?
【发布时间】:2012-01-14 11:53:44
【问题描述】:

action 的表单属性为“#”(数字/磅符号/符号/字符)是什么意思?

当表单输入的formaction 属性设置为“#”时会发生什么?这会阻止输入提交到服务器吗?

<form method="GET" action="example.php">
    <input type="text" size="20" name="text1" value="text1" formaction="#"/>
    <input type="text" size="20" name="text2" value="text2"/>
    <input type="submit" value="Submit"/>
</form>

【问题讨论】:

    标签: html forms


    【解决方案1】:

    # 作为 URL 引用(无论是 action 还是 formaction 属性值或其他)的含义是对当前基础文档开头的引用。基础文档是当前文档,除非设置了&lt;base href=...&gt; 标签。

    会发生什么取决于具体情况。通常,浏览器会在 URL 中使用查询部分再次请求页面(并且页面会再次加载,这可能意味着客户端脚本正在运行),但如果之前使用过相同的查询,浏览器可能会使用它的缓存。此外,由于引用了文档的开头,因此失去了对任何表单元素的关注,并且页面可能会向后滚动。

    因此,尽管# 在某些编码风格中相当普遍,但它并不可靠;使用客户端事件处理程序可以更好地实现其目的。

    formaction 属性仅对提交按钮有意义。文本输入元素不构成提交按钮,即使它可能触发表单提交,所以这里忽略该属性。

    【讨论】:

    • 顺便说一句:当你说“它是可靠的”时,你的意思是“它不可靠”吗?
    【解决方案2】:

    表单将提交给自身(当前 URL)。我认为这与空动作相同。

    此外,如果以后要通过 javascript 更改操作,这也很有用。

    【讨论】:

      【解决方案3】:

      在 w3schools 上解释:http://www.w3schools.com/html5/html5_form_attributes.asp

      表单覆盖属性

      表单覆盖属性允许你覆盖一些 为表单元素设置的属性。

      表单覆盖属性为:

      formaction - 覆盖表单动作属性
      formenctype - 覆盖表单 enctype 属性
      formmethod - 覆盖表单方法属性
      formnovalidate - 覆盖表单 novalidate 属性
      formtarget - 覆盖表单目标属性
      注意:表单覆盖属性适用于以下类型:
      提交和图像。

      <form action="demo_form.asp" method="get" id="user_form">
      E-mail: <input type="email" name="userid" /><br />
      <input type="submit" value="Submit" />
      <br />
      <input type="submit" formaction="demo_admin.asp" value="Submit as admin" />
      <br />
      <input type="submit" formnovalidate="true"
      value="Submit without validation" />
      <br />
      </form>
      

      所以是的,您绝对正确,它覆盖了操作,但它只覆盖输入类型提交和图像,而不是文本。因此,您可以在同一个表单中有 2 个不同的提交按钮,但会导致不同类型的验证。这就是我要用它的目的。

      所以 # 会将操作放在同一个页面上,而不是另一个页面上。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-10
        • 2011-04-07
        • 2014-05-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多