PHP的HTML显示按钮的属性
我希望能够从一个按钮尽可能多的属性显示,因为我可以。PHP的HTML显示按钮的属性
按钮:
<input name="Accept" type="submit" class="button" id="Accept" value="Accept" />
按钮代码:
if(isset($_POST['Accept'])){
//show button properties here
}
我想它显示在按钮按下什么:
- 名称:接受
- 类型:提交
- 类:按钮
- ID:接受
- 值:接受
和什么别的永远可以显示
谢谢你在先进。
如何通过普通的HTML行为获取HTML元素的属性没有办法 - 但是您可以使用处理“onSubmit”表单事件的JavaScript函数,通过它可以发送所有您需要的东西。
好的谢谢。这样的事情如何... name =“save [11798779]” 我怎样才能得到这个数字? – 2012-03-29 23:54:21
当然,$ _POST将包含键'save',该键是包含原始HTML元素值的键'11798779'的数组。 – 2012-03-29 23:57:20
如何获得该号码? – 2012-03-29 23:59:11
一种可能的方式,不使用JavaScript将数据副本存储在元素的名称:
<input name="Accept" type="submit" class="button" id="Accept" value="Accept" />
变为:
<input name="Accept.submit.button.Accept" type="submit" class="button" id="Accept" value="Accept" />
您可以得到value
您$_POST
数组。对于其余的属性,只需使用explode()
来分割元素的键。
好主意。谢谢。 – 2012-03-29 23:58:10
除了名称和值之外,没有办法提交输入的属性,但是您可以使用任何想要的信息在表单上隐藏输入,甚至可以创建它们或动态地将它们填充到按钮的onclick中或表单的提交事件。
作为另一种选择,我会填充JSON形式的按钮值中的信息,因为按钮的值通常无用。
如果你真的想出了想法,那么你可以在表单的action属性中将url信息填入url的查询字符串中,然后通过检查GET数组来获取信息(但是如果表单方法是取而代之的是,然后这些值可能会被覆盖!)
但是,如果你只是需要一种方法来区分许多按钮,那么每个人都有不同的名称或值,这可能是按钮具有名称和值的唯一原因。
关于andrejd的回答,请注意,虽然你可以使用的onsubmit功能与阿贾克斯提交,然后返回false取消默认提交,请注意,使用这种方法存在以下问题:
1 )onSubmit函数不知道哪个按钮被按下了,但是你可以使用按钮的onClick事件,但是你必须绑定到表单上的每个提交按钮(你可以用jquery等来更容易地做到这一点)。
2)由于Ajax不会影响页面内容,因此ypu会自行刷新它或自行导航页面,后者可以使用“location.href”
3)如果你正在提交文件,你将很难用ajax做这件事,你可以尝试使用jquery fileupload插件。
4)Ajax被限制在同一个源(tgat表单提交不是),你可以尝试使用JSONP解决方法。
5)如果客户端没有JavaScript(比如一些手机或者某些文本浏览器,比如linux浏览器),或者禁用了JavaScript或者使用了较老的浏览器,Ajax将不起作用,并且通常不会建议完全依赖Ajax,但至少应该为这些情况提供一种替代方案。
对于问题2-4,你可以通过让Ajax只是额外的内容来解决它们,然后返回true以让默认提交提交表单。
另一个好主意,谢谢。 – 2012-03-29 23:59:50
这是在无状态HTTP中执行这些事情的标准方式,这是首先存在隐藏输入的原因。 – 2012-03-30 00:04:00
事实上,ASP.Net在幕后几乎完全基于这个想法,使用视图状态输入 – 2012-03-30 00:10:08
我知道你可能无法显示所有内容,但我希望能够尽可能多地显示 – 2012-03-29 23:43:34
这是什么情况?发布时,只会发送输入元素的名称和值。 – F21 2012-03-29 23:46:33
传回的唯一数据是名称和值对。除非你愿意使用JavaScript。 – 2012-03-29 23:47:40