我可能想出了一个解决我的问题的方法......
这是一个示例表单:
<form name="vehicle-vinNr" method="post" action="?<?=$_SERVER['QUERY_STRING']?>">
<input type="hidden" name="hello" value="world" readonly>
<input type="text" name="element">
<input type="submit" name="vehicle-vinNr" value="send">
</form>
首先,我需要提取元素名称并将其放入一个新数组中:
<?php
if ($_POST){
foreach($_POST as $_FORM_ELEMENT_name => $_FORM_ELEMENT_value){
$_FORM_ELEMENT_names[] = $_FORM_ELEMENT_name;
}
}
?>
在这种情况下,数组现在包含:
hello
element
vehicle-vinNr
如果提交按钮是并且始终是表单中的最后一个元素 - 这将起作用:
$_FORM_name = end($_FORM_ELEMENT_names); // vehicle-vinNr
但有时提交按钮不是最后一个元素,所以我需要进行更改:
如果我总是以提交按钮的名称开头submit_
- 例如submit__vehicle-vinNr
或使用多个提交按钮来执行不同的操作,例如submit_update__vehicle-vinNr
/submit_delete_vehicle-vinNr
我可以这样做:
if ($_POST){
foreach($_POST as $_FORM_ELEMENT_name => $_FORM_ELEMENT_value){
if(strstr($_FORM_ELEMENT_name,'submit_')){
$_FORM_ELEMENT_submit_name = explode('__',$_FORM_ELEMENT_name);
$_FORM_name = $_FORM_ELEMENT_submit_name[1]; // vehicle-vinNr
}
}
}
这是我想出的解决方案 - 有什么想法吗?