关于javascript传值该注意的问题

  比如你在设计这么一个页面:在前台页面有一个form表单,而表单在提交前要进行判断其内容是否为空,为空则不允许提交,不为空则允许提交。

那么要实现这样的功能,我们第一想到的当然是利用javascript写一个function进行判断了。例子如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<script type="text/javascript">
var flag;
//判断输入是否为空
function check(title) {
    if (title != "") {
        flag = true;
    } else {
        flag = false;
        document.getElementById("msg").innerHTML = "<font style='color:red'>输入不能为空!</font>";
    }
}
//返回true或者false,控制表单能否提交
function checkf(){
    return flag;
}
</script>
</head>
<body>
    <form action="check.do" method="post" onsubmit="return checkf()">
        <input type="text" name="title" onblur="check(this.value)">
        <span id="msg"></span>
        <input type="submit" value="提交">
    </form>
</body>
</html>

  从例子我们可以看到,在输入框内,调用了onblur函数(焦点判断),即onblur后面接的check事件会在输入失去焦点时(即输入框在输入内容时会有光标一闪一闪的,而当你点击输入框以外的任意位置,就失去了输入焦点)发生。

当check事件发生后,就会调用check方法对title的值进行判断(this.value在输入框内等价于name的值即title的值)。

以上都不是我发文提的重点。

 

 

我要说的重点是,在check方法内的if判断,

当所传的值即 title 为空时,判断条件不能写 title != null,切记!!!

如果判断输入是否为空,判断条件应该是这个    title != ""

“”这才表示为空,而不是 null  !!!

还有form表单调用了 onsubmit 方法,主要是判断内容是否为空,为空则无论怎么点击提交,表单都不会提交到后台。

只有check方法判断输入不为空后,将flag的值变为true,则表单才可以提交。

 

 

例子用到的

onblur

onsubmit

另外如果是按钮类型,还可以用 onclick 方法。

posted @ 2013-06-04 15:58  十日十月  阅读(237)  评论(0编辑  收藏  举报