嵌入式CGI开发之旅——10

时间:2020-12-17 21:09:29

实验五、单选按钮组


所谓单选按钮组,就是一组按钮,但是最多只能选择其中一项,这组按钮具有同一个name属性。单选按钮在表单中的应用很多,比如提供给用户选择性别,提供给用户的一个开关都可用单选按钮组来实现。这个实验显示了CGIC如何取得单选按钮组的数据。


1、  修改mycgictest.html,增加一组单选按钮组:


<form id="form2" name="form2" method="post" action="/cgi-bin/mycgictest.cgi">


  <p>


    <label>


      性别:


        <input type="radio" name="sex" value="boy" id="sex_0" />


      </label>


    <label>


      <input type="radio" name="sex" value="girl" id="sex_1" />


      </label>


  </p>


  <p>


    <label for="sex_submit"></label>


    <input type="submit" name="sex_submit" id="sex_submit" value="提交" />


  </p>


</form>


这里给用户提供一个性别选项,用户可以从两个性别中选择其中一个。


2、修改mycgictest.c文件:


添加变量定义:


    char *user_sex[]={"boy","girl"};


    int user_sex_serult;


加入处理函数:


  if(cgiFormRadio("sex",user_sex,2,&user_sex_serult,0)==cgiFormSuccess){


     fprintf(cgiOut,"Ha Ha 是个%s !",user_sex[user_sex_serult]);


  }


这个实验中我使用cgiFormRadio()来处理用户提交的单选按钮组,cgiFormRadio()函数的说明请查阅我上传的CGIC手册。对于表单中的单选按钮组要注意的是每个单选按钮必须有自己的value,且不相同,这个属性是cgiFormRadio()用来区别同一按钮组中不同单选按钮的标准。应用中注意函数的第三个参数是一个整型指针,指向用户选择的单选按钮。

3 、同样编译然后在浏览器中访问,选择一个性别然后提交,如果看到“ Ha Ha  是个 boy  ”之类字样,说明成功!