12. cookie
cookie 是存储于访问者的计算机中的变量。
三个函数:设置,读取,检查
<script type="text/javascript">
function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}
function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=")
if (c_start!=-1)
{
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) c_end=document.cookie.length
return unescape(document.cookie.substring(c_start,c_end))
}
}
return ""
}
function checkCookie(c_name)
{
username=getCookie(c_name)
if (username!=null && username!="")
{alert('Welcome again '+username+'!')}
else
{
username=prompt('Please enter your name:',"")
if (username!=null && username!="")
{
setCookie('username',username,365)
}
}
}
</script>
13. JavaScript 表单验证
被 JavaScript 验证的这些典型的表单数据有:
* 用户是否已填写表单中的必填项目?
* 用户输入的邮件地址是否合法?
* 用户是否已输入合法的日期?
* 用户是否在数据域 (numeric field) 中输入了文本?
13.1 用户是否已填写表单中的必填项目?
function validate_required(field,alerttxt)
{
with(field)
{
if(value==null||value=="")
{
alert(alerttxt);
return false
}
else{
return true
}
}
}
13.2 用户输入的邮件地址是否合法?
输入的数据必须包含 @ 符号和点号(.)。同时,@ 不可以是邮件地址的首字符,并且 @ 之后需有至少一个点号
function validate_email(field,alerttxt)
{
with (field)
{
apos=value.indexOf("@")
dotpos=value.lastIndexOf(".")
if (apos<1||dotpos-apos<2)
{
alert(alerttxt);
return false
}
else {
return true
}
}
}
13.3 验证调用
function validate_form(thisform)
{
with (thisform)
{
if (validate_email(email,"Not a valid e-mail address!")==false)
{
email.focus();
return false
}
}
}
14. JavaScript 动画
窍门是:使用 JavaScript 通过不同的事件来切换不同的图像。
15. JavaScript 图像地图
<img src="eg_planets.gif" width="" height="" usemap="#planetmap"/>
<map id ="planetmap" name="planetmap">
<area shape ="rect" coords ="0,0,82,126" onMouseOver="writeText('a1')" href ="a1.html" target ="_blank" alt="Sun" />
</map>
//
if shape="rect" then
coords="left,top,right,bottom"
if shape="circ" then
coords="centerx,centery,radius"
if shape="poly" then
coords="x1,y1,x2,y2,..,xn,yn"
<<<
16. JavaScript 计时
setTimeout()
var t=setTimeout("javascript语句",毫秒)
//setTimeout() 方法会返回某个值。在上面的语句中,值被储存在名为 t 的变量中。假如你希望取消这个 setTimeout(),你可以使用这个变量名来指定它。
clearTimeout(t)
//t是setTimeout()的返回值
<script type="text/javascript">
var c=0;
var t;
function timedCount()
{
document.getElementById("show_times").value = c+""; //似乎不能传递id进来
c=c+1;
t=setTimeout("timedCount()",1*1000); //递归
if(c == 5){
clearTimeout(t); //停掉循环
}
}
</script>
17. 创建你自己的 JavaScript 对象
<script type="text/javascript">
function person(firstName, age){ //构造函数
this.name=firstName;
this.age=age;
this.newName=newName; //添加方法,必须实现之,参数可省略
}
function newName(new_name){ //方法实现
this.name=new_name;
}
var jack=new person("jack", 25); //创建新对象
alert(jack.name); //测试新对象
jack.newName("Hubert");
alert(jack.name);
</script>
18. 标签内容
innerHTML
<span id="info">abcdef</span>
document.getElementById(info).innerHTML="aaaaaaaaaaaaaaa";
|