我在表单的末尾有这个HTML按钮代码 :
input type="image" name="enter" value ="test" src = "design_files/addpanier.png
它生成按钮,我可以点击它,但是当我使用以下方法在PHP中测试按钮时
if(isset($_POST['enter'])).....
在Firefox或Mircosoft Edge中未检测到它,但在Chrome中没有检测到。
我通过使用隐藏字段
复制'enter'字段来绕过它即
input type="hidden" name="enter" value= "enter"
input type="image" name="enter" value ="test" src = "design_files/addpanier.png"
字段中的值无关紧要。
但我的原始代码是错误还是浏览器有问题?
答案 0 :(得分:0)
您需要在表单数据中测试是否存在enter.x
(或enter.y
),而不是enter
。原因是对于图像提交按钮,对表单数据的贡献与其他字段的定义不同:单击的位置的坐标(如果使用了指向设备以外的方法,则为0,0)包含在数据中,使用name
属性值派生的名称,并附加字符串.x
和.y
。 (某些浏览器还包含一个名称来自name
属性的字段,但由于您无法依赖它,因此无用。)
参考:Description of input type=image at MDN(按照规范链接查找表格提交时发生的最权威的定义。)