新闻  |   论坛  |   博客  |   在线研讨会
实验四、文本框
mayer | 2009-09-05 19:56:02    阅读:1787   发布文章

实验四、文本框

文本框允许用户输入多行文本,这个通常用来接收较多的用户输入,用户可以使用空格和回车换行等,因为输入的数据可能超过1024字节,这个表单输入域的提交一般用POST方法。

1、修改mycgictest.html,增加一个文本框,加在用户输入名字的下面,如下代码所示:

  <p>

    <label for="user_name">Your Name: </label>

    <input type="text" name="user_name" id="user_name" />

  </p>

  <p>

    <textarea name="user_text" id="user_text" cols="45" rows="5"></textarea>

  </p>

2、修改mycgictest.c文件:

  if(cgiFormSubmitClicked("name_submit")==cgiFormSuccess){

     hand_result=hand_user_name("user_name",user_name_result,USER_NAME_MAX_BYTE);

     //处理多行文本

  if(cgiFormString("user_text",user_text_result,2049)==cgiFormSuccess){

         fprintf(cgiOut,"<pre>");

         fprintf(cgiOut,user_text_result);

         fprintf(cgiOut,"</pre>");

     }else{

         fprintf(cgiOut,"对不起,发生错误!");

     }

  }

3、步骤同前,还是编译然后访问。

这里要特别注意下fprintf(cgiOut,"<pre>");和fprintf(cgiOut,"</pre>");这两句话输出了一个HTML标签:<pre></pre>,并且把要用户输入的数据包含在里面进行输出。呵呵,有什么作用大家可以比较一下,去掉看一下结果一下就明白了呵呵!(<pre></pre>标签的意思是把标签中的内容按预先的格式进行输出,就是如果是换行就换行,如果有什么特殊符号就输出特殊符号,这样如果你在多行文本中有换行的地方,在输出显示的时候也是换行的,当然这里就不能使用cgiFormStringNoNewlines()这个函数来)

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客