Posts Tagged ‘js’

2009/12/11

毕业到现在差不多有两年没有再用过struts了,看是能看懂了,就是如果按照自己的想法去实现一些功能的话,现在的记忆还有些欠缺,况且在学校没有网络,书上讲的又不全,所以视野很狭隘,很多东西似懂非懂,不怎么用。

废话少说。

struts中的html标签,比如说html:text,如果你想用js得到这个里面的值的话,就不能像得到普通html标签里的值一样了,因为这个标签里没有id或者name属性,代替id的是styleId,代替name的就是property属性。所以你想取得一个元素的值,就得这样写:

document.getElementById(‘styleId’).value;

相同的对于其他的html元素都可以这样实现。但是呢,还可以用另外一种方法来实现,因为通常我们都会用表单来处理一些数据,比如说html:form,当html:text里面不写styleId而只有property的话可以这样写:

document.forms[0].propertyName.value;

可以得到同样的效果。贴两段代码做比较:

一、

Java Server Page语言: Codee#8350
<table>
        <html:form action="/user/logon" focus="username">
          <tr><td><html:text property="username"/></td></tr>
          <tr><td><html:password property="userpasswd"/></td></tr>
          <tr>
           <td><html:button property="" value="submit"/></td>
           <td><html:reset value="reset"/></td>
          </tr>
        </html:form>
</table>
function  checkLogon(){
        var username=document.forms[0].username.value;
        var passwd=document.forms[0].userpasswd.value;
        if(username==null || username==”){
            alert(’请输入用户名!’);
            return false;
        }else if(passwd==null || passwd==”){
            alert(’请输入密码!’);
            return false;
        }else{
            document.forms[0].submit();
            return true;
        }
    }

二、

Java Server Page语言: Codee#8351
<table>
      <html:form styleId="logonForm" action="/user/logon" focus="username">
        <tr><td><html:text property="username" styleId="usernameId"/></td></tr>
        <tr><td><html:password property="userpasswd"   styleId="userpasswdId"/></td></tr>
        <tr>
          <td><html:button property="" value="submit"/></td>
          <td><html:reset value="reset"/></td>
        </tr>
      </html:form>
</table>
function  checkLogon(){
        var username=document.getElementById(’usernameId’).value;
        var passwd=document.getElementById(’userpasswdId’).value;
        if(username==null || username==”){
            alert(’请输入用户名!’);
            return false;
        }else if(passwd==null || passwd==”){
            alert(’请输入密码!’);
            return false;
        }else{
            document.getElementById(’logonForm’).submit();
            return true;
        }
    }

真不好用。。。

—-2009/05/20

Related posts

Tags: ,,.

限制文本框只能输入数字,而且不能粘贴非数字的值:

onkeypress="return event.keyCode>=48&&event.keyCode<=57″ 
onpaste="var s=clipboardData.getData(’text’); if(!/D/.test(s)) value=s.replace(/^0*/,"); return false;" ondragenter="return false"

—-2009/02/27

Related posts

Tags: .

一般来调用函数,比如上节,如果想让网页上显示动态的时间。我们可以修改上节的代码如下(贴整个html文件):

HTML语言: Codee#8348
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
  <TITLE> New Document </TITLE>
</HEAD>
<BODY>
<div id="LookHere" style="color:red"></div>
<SCRIPT LANGUAGE="JavaScript">
function showTime(){
    var today=new Date();
    var hours=today.getHours();
    var minutes=today.getMinutes();
    var seconds=today.getSeconds();
    var times=(hours>12)?"下午":"上午";
    times+=(hours>12)?hours-12+"时":hours+"时";
    times+=minutes+"分";
    times+=seconds+"秒";
    var xingqi=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
    var str="<p>现在是:"+today.getFullYear()+"年"+ (today.getMonth()+1)+"月"+today.getDate()+"日"+xingqi[today.getDay()]+times+"</p>";
    LookHere.innerHTML=str;
    setTimeout("showTime()",1000);
}
    showTime();
</SCRIPT>
</BODY>
</HTML>

在这里不能用document.write,因为write方法在网页加载以后再调用,属于非法操作,所以得不到你预想的效果。需要提一下的是 innerHTML在写入的时候会覆盖此以前的内容,而document.write是追加。

以上的程序,还可以用setInteval方法,用法就是setInteval 写在方法外面。去掉showTime()这句话。他们的区别如下:

他们的语法基本上相同,但是完成的功能有区别:
setTimeout方法是定时程序,也就是在什么时间以后干什么。干完了就拉倒。
setInterval方法则是表示间隔一定时间反复执行某操作。

但是setInterval用在这里的不足就是,页面加载一秒以后才显示时间。

—-2008/12/01

Related posts

Tags: ,.

在网上看到计算日期这么一个方法,比如说在网页上显示:2008年12月1日 星期一下午1点58.看两段代码:

1、转载自胡戈戈《每日一JavaScript:显示当前日期、时间和星期

JavaScript语言: Codee#8339
<script type="text/javascript">
<!–
//取当前日期、时、分、秒
today=new Date();
var hours=today.getHours();
var minutes=today.getMinutes();
var seconds=today.getSeconds();
//将小时按12小时存储
var timeValue=(hours>=12)?"下午":"上午";
timeValue+=((hours>12)?hours-12:hours)+"时";
timeValue+=minutes+"分";
timeValue+=seconds+"秒";
function initArray() {
    this.length=initArray.arguments.length;
    for(var i=0;i<this.length;i++)
        //依次读取星期日至星期六7个中文名称
        this[i+1]=initArray.arguments[i];
}
//建立一个数组,存储星期日到星期六7个中文名称
var d=new initArray (
    "星期日",
    "星期一",
    "星期二",
    "星期三",
    "星期四",
    "星期五",
    "星期六"
);
//格式化输出,注意这里的getFullYear()不能为getYear(),否则在Firefox将显示不太正常
document.write(
    "<p>"+today.getFullYear()+"年"+today.getMonth()+1+"月"+
today.getDate()+"日"+d[today.getDay()+1]+timeValue+"</p>"
);
//–>
</script>

2、原创:

JavaScript语言: Codee#8340
<SCRIPT LANGUAGE="JavaScript">
var today=new Date();
var hours=today.getHours();
var minutes=today.getMinutes();
var seconds=today.getSeconds();
var times=(hours>12)?"下午":"上午";
times+=(hours>12)?hours-12+"时":hours+"时";
times+=minutes+"分";
times+=seconds+"秒";
var xingqi=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
document.write("<p>现在是:"+today.getFullYear()+"年"+ (today.getMonth()+1)+"月"+today.getDate()+"日"+xingqi[today.getDay()]+times+"</p>");
</SCRIPT> 

在显示星期的问题上,我直接用了js中的array,而第一种方法,就将array方法重现。

this.length=initArray .arguments.length;得到所传参数长度,然后循环赋值。

在js中,就允许这样的一种:对象方法,如 initArray .

学习了。。

—-2008/12/01

Related posts

Tags: .

就像我工作日志里写的那样,主要就是用了 yahoo 的js组件,实现div显示隐藏功能,用了ajax的updater和request。用到的几个 js:utilities.jsp;cotainer-min.js;resize-beta-min.jsp;containerCtrl.js.

—-2008/10/27

Related posts

Tags: .

写了很多次,不过每次都忘记,记录下来,下次好找一点。

onkeyup="this.value=this.value.replace(/\D/g,”)" 
     onafterpaste="this.value=this.value.replace(/\D/g,”)"

很简单的两句话。

—-2008/09/04

Related posts

Tags: .