这几天在学习HTML网页设计,由于是初学者,因此一些简单的事情耗费不少时间,在这里记下其中用到的一些点。
1. 网页表单提交到cgi后,跳转到指定界面。这个用于用户登录,登录成功则跳转到主页上去。
printf("<script>window.location.href='leds.html';</script>");
<iframe name="server" style="display:none;" src=""></iframe>
将这句话放在form之前即可,然后再from形式如下
<form method="get" action="leds.cgi" name="LED-TEST" target="server">
3. 点击网页提交按钮之后弹出提示框,确定则跳转界面,取消则不跳转。这里需用到javascript,先写下函数
function messageBox() { if(confirm('确定要修改吗?')) { return true; } else { return false; } }在上面if……else中填写自己所需要的代码,在提交按键中添加onClick属性:onClick="return messageBox()",即可。
4. 修改网页中控件的属性
document.getElementById("status1").value="1";
5. 对于想提交其他的值可以用到hidden这一类型,该隐藏字段对于用户来说是不可见的,存储一个默认值,可以通过jacascript修改此值,以达到提交自己所需要的数据的目的。
<input type="hidden" name="status4" value="0" id="status4"/>
6. CGI写cookie
printf("Set-Cookie:userName=%s;path=/\r\n",userName); printf("Content-type: text/html\n\n");当关闭浏览器之后,cookie失效。
7. 实现页面不刷新只动态修改其中某些控件的内容,可以用ajax来实现,本人十分喜欢,以此来获取我们想要的数据。
8. 关于HTML中定时器的实现有两种方式一个是setTimeout(code, millisec),其中用函数自己调用自己实现定时处理,还有一种是setInterval(code, millisec),用clearInterval(int),来取消定时器,其中参数为setInterval(code, millisec)的返回值。
9. Javascript谈对话框
对话框分为三种:
(1).提示框window.alert("提示框");
(2).确认对话框,带有“确定”、“取消”两个按键。window.confirm("确定要退出吗?");
(3). 带有输入框的对话框,window.prompt("请输入用户名","");第一个参数是提示信息。
10.cgi_header: unable to find LFLF
一般而言这个问题是因为printf("Content-type:text/html\n\n");格式不对,“\n”个数是两个,同时,cgi文件的权限要改为777,如果是脚本写的cgi程序,“#!/bin/sh”这个要顶格写,不然也会出现这个错误。
11. 关于网页数据提交问题
由于是初学者,走了不少弯路,如果是网页的提交,那么数据时经过URL编码发送出去的,英文和数字的话没有变化,如果是汉字的话会编成UTF格式并且前面有“%”,举个例子中文“代码”经过URL编码之后为“%e4%bb%a3%e7%a0%81”,而如果通过ajax提交数据过去的话,数据并不是像"%e4%bb%a3%e7%a0%81",如果想统一的话,也要将想提交的数据经过URL编码再提交,这里用到这个函数encodeURIComponent,对“代码”调用这个函数得到的结果就是"%e4%bb%a3%e7%a0%81".我们的目的就达到了。