提交隐藏了操作属性的表单
Submit form with action attribute hidden
人员
我想知道如何在不显示动作属性的情况下提交表单。像这个
<form action="someact.php" method="post">
...
</form>
有些人建议使用$_PHP['SELF']
,但我希望使用另一个php文件来处理我的表单,比如分离UI部分和流程部分,这样任何人都看不到我的流程文件?
我想要这个
<form method="post">
...
</form>
但它处理到了我想要的文件。
请帮忙?
首先,我不太明白你为什么想要这个。action
属性的全部目的是告诉浏览器将请求发送到哪里,而"隐藏"它不会起到任何作用——无论你做什么,任何半途而废的黑客(甚至不到半途而废(仍然可以找到你隐藏的信息
话虽如此,你可以这样做:
<form id="hidden_action_form" method="post">
<!-- ... -->
</form>
<script type="text/javascript">
document.getElementById('hidden_action_form').action = 'someact.php';
</script>
您究竟为什么需要一个"隐藏"的过程文件?这是不可能的:浏览器必须知道请求应该发送到哪里。
如果你一开始就解释你遇到的问题,而不是你独自面对这个问题时出现的问题,其他人可能会帮助你。
我觉得你把两件事搞混了。PHP文件仅在您的服务器上,不会发送到浏览器。服务器(通常是apachehttpd(处理文件并从中生成HTML代码。然后将这些代码发送到浏览器。
当你有一个表单时,你必须有一个相关的操作,因为正如CodeCaster所指出的:浏览器需要知道将数据发送到哪里。这就像一个没有设置href属性的超链接。任何事情都不可能发生,因为浏览器不知道该做什么。
你不能那样做。表单必须始终具有操作属性。没有人可以看到将要处理表单数据的文件的内容(如果这是您的问题(。
如果没有javascript,您将无法隐藏它。即使是javascript也不会隐藏它,但可以将数据发布到另一个文件,同时用户被引导到表单操作中定义的(公共(文件。
您可以使用ajax post()
调用将数据POST到另一个文件。请参阅jQuery提供的链接,并确保ajax首先发送帖子,然后重定向/加载用户内容。
但是请注意,如果客户端禁用了javascript,那么整个POST将不会被执行。此外,如果有人查看了你的js,你也可以在那里看到隐藏的文件名,除非你对js文件进行密码保护。
- 表单属性目标是否与asp.net跨页回发相同
- 如何检查浏览器对 HTML5 表单属性的支持
- 如何在 AngularJS 中绑定到表单属性
- 如何从 hhtm 中的表单属性值调用 javascript 函数
- 使用 HTML5 Ajax 表单属性不适用于 ASP.NET MVC,仍被重定向到 Action URL
- MSCRM 识别表单属性集合上的快速视图属性
- JavaScript表单属性null错误
- HTML表单属性“;name”;没有在Firefox中定义
- Symfony获取表单属性
- 在IE中使用新的html5表单属性序列化失败
- 如何收集表单属性名称和“;value"使用javascript从表单的特定部分导入数组
- 调用form.serializable()时必须输入表单属性吗?
- JS -模拟表单提交"表单属性"关于文本输入
- 如何获得表单属性当输入有相同的名称
- Javascript:在IE中尝试使用圆括号而不是方括号访问表单属性
- 访问被字段名覆盖的本机表单属性
- CKEditor:有没有办法从上下文菜单中删除表单属性选项
- Javascript设置表单属性
- 表单属性未定义不是函数
- React收集表单属性并提交