0

我在 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
  }

但是我怎么知道哪个按钮被按下了?我看到了这个问题,但它在 php.ini 中。我正在使用 C++ CGI 脚本。我一直在阅读CGICC 文档,但找不到任何关于确定按下哪个按钮的信息。

需要明确的是,两个按钮基本上都会做同样的事情(“POST”),但我需要能够识别按钮,以便在必要时重新启动。

4

1 回答 1

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 数据中,这将非常容易编写。

于 2013-09-12T19:43:07.623 回答