我在CGI脚本中有两个提交按钮(用C ++编写)。一个(value=Submit
)只保存表单数据。另一个(value=Save and Reboot
)应该以相同的方式保存表单数据,然后重新启动。
基本上,我想这样做:
if(method == "POST")
{
//element 1 saved
//element 2 saved
//etc etc
if(second button is pushed)
//handle reboot code
}
但是我怎么知道推了哪个按钮?我看到了this question,但它是在php中。我正在使用C ++ CGI脚本。我一直在阅读CGICC documentation,但我找不到任何关于确定按下哪个按钮的内容。
要清楚,两个按钮基本上都会做同样的事情('POST'),但我需要能够识别按钮,以便我可以在必要时重新启动。
答案 0 :(得分:1)
假设您有两个按钮,一个名为“提交”,另一个名为“保存并重新启动”:
<form method="POST" action="">
<input type="submit" name="Submit" />
<input type="submit" name="Save and reboot" />
</form>
现在,只需检查POST数据中是否设置了具有相应名称的值:
form_iterator fsubmit = formData.getElement("Submit");
if( !fsubmit->isEmpty() && fsubmit != (*formData).end()) {
// The sumbit is pressed
}
form_iterator fsaveandreboot = formData.getElement("Save and reboot");
if( !fsaveandreboot->isEmpty() && fsaveandreboot != (*formData).end()) {
// The save and reboot is pressed
}
一旦您了解未点击的按钮将不包含在POST数据中,这很容易编写。