原创 【原创】嵌入式CGI开发之旅——9

2009-9-3 20:14 2051 7 7 分类: MCU/ 嵌入式

实验四、文本框<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


文本框允许用户输入多行文本,这个通常用来接收较多的用户输入,用户可以使用空格和回车换行等,因为输入的数据可能超过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()这个函数来)

文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /2 下一条