当表单动作属性为“#”(数字/磅符号/符号/字符)时,是什么意思?
当表单输入的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>
解决方法
#作为URL引用(无论是作为action还是formaction属性值)的含义是对当前基础文档开头的引用。基本文档是当前文档,除非< base href = ...>标签已设置。
发生的情况取决于情况。通常,浏览器会再次使用URL中的查询部分(并重新加载页面,这可能意味着客户端脚本运行),但是如果较早使用相同的查询,则浏览器可能会使用它的缓存。此外,由于文档的开头被引用,所以关注任何表单元素都会丢失,页面可能会向后滚动。
所以虽然#在一些编码风格中相当普遍,但是不可靠;使用客户端事件处理程序更好地实现了其目的。
formaction属性只对提交按钮有意义。文本输入元素不构成提交按钮,即使它可能触发表单提交,因此这里的属性将被忽略。