在JavaScript中使用两个函数

时间:2013-08-20 12:11:27

标签: javascript html ajax

我想在javascript中添加两个函数,以便在第一个验证后,第二个函数必须验证并返回值。但在我的案例中只有一个正在执行:

以下是代码:

<html>
<script type="text/javascript">
function validate(){
var name_value=document.getElementById('qs').value;
if(name_value=="")
{
alert("Please enter your keyword");
}
}
var ray={ajax:function(st)
    {
        this.show('load');
    },
show:function(el)
    {
        this.getID(el).style.display='';
    },
getID:function(el)
    {
        return document.getElementById(el);
    }
}
</script>
<style type="text/css">
#load {
    background: none repeat scroll 0 0 #F7F7F7;
    border: 1px double #999999;
    font-family: "Trebuchet MS",verdana,arial,tahoma;
    height: 50px;
    left: 45%;
    line-height: 50px;
    margin-left: -150px;
    margin-top: -50px;
    position: absolute;
    text-align: center;
    top: 50%;
    width: 350px;
    z-index: 1;
}
</style>
<body>
<div id="load" style="display:none;"><strong>Please wait while we process your request...</strong></div>
<form action="http://www.example.com" method="post" onSubmit="validate() && return ray.ajax()">
<input type="text" value="" name="q" id="qs">
<input type="submit" value="Search">
</form>
</body>
</html>

在上面的代码中,如果我移除validate()标记中的return ray.ajax(),则只有<form>才有效。但我希望两者都有效,即textbox isEmpty,显示alert,否则显示Please wait...消息。

如何实现呢?提前谢谢......

1 个答案:

答案 0 :(得分:1)

尝试

function validate(){
    var name_value=document.getElementById('qs').value;

    if(name_value=="")
    {
        alert("Please enter your keyword");
        return false;
    }
    return true;
}
var ray={
    ajax:function(st)
    {
        this.show('load');
        return true
    },
    show:function(el)
    {
        this.getID(el).style.display='';
    },
    getID:function(el)
    {
        return document.getElementById(el);
    }
}

<form action="http://www.example.com" method="post" onSubmit="return validate() && ray.ajax()">