Javascript的页面跳转好像不能用在函数里面,该怎么实现呢

 <script language="javascript">
$(document).ready(function(){
    $("#tjan").click(function(){
                              window.open('http://www.baidu.com')
})
 })
function dl(){//以下将处理登陆信息
    var a=document.getElementById("yhm").value
                var f=$("#mima").val()

}
                window.location.href="http://www.baidu.com";

</script>

如函数dl,我想要往网址中加些东西,所以得通过函数来获取元素的内容并加入到函数中,但奇怪的是window.location.href不能用在函数里面,只能用在外面,页面一加载就跳转,也没法获取数据,显然不是我想要的,请相关的朋友们解答下哈

也可以写在函数中,问题是你的dl什么时候调用。你原来的写法,是在ready,也就是页面加载完调用的。
你的异步函数如果调用的时机不对,此时页面没有加载完,自然就得不到数据。

那要看你怎么调用dl函数的。页面一加载就调用,如果window.location.href写在dl函数里面当然就跳转了。

不知道是不是你想的意思.看你需要什么时候调用

$(window).load(function() {
    ..........
});

你的window.location.href写在外面肯定当页面加载时立马调走的,window.location.href是可以用在函数里面的

放dl函数里面,你放外面肯定执行执行就跳转了

      function dl() {//以下将处理登陆信息
         var a = document.getElementById("yhm").value
         var f = $("#mima").val()
         window.location.href = "http://www.baidu.com?wd="+f;///

     }

function dl(){//以下将处理登陆信息
var a=document.getElementById("yhm").value
var f=$("#mima").val()
window.location.href="http://www.baidu.com";

}

你现在把window.location.href放在方法外边,根本就不会触发这条语句