实验四、文本框<?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条评论)
登录后参与讨论