<!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 language="javascript" type="text/javascript">
   function googlesearch()
           {
              var wq = document.getElementsByName("wq")[0].value;
              var link = "http://www.google.com/search?domains=www.williamlong.info&sitesearch=www.williamlong.info&q=" + wq;
              window.open(link);
          }
          function baidusearch()
            {
                    var wd=document.getElementsByName("wq")[0].value;
                    var link="http://www.baidu.com/s?si=www.williamlong.info&cl=3&ct=2097152&tn=baidulocal&word="+wq;
                    window.open(link);
             }
             window.onload = function () {
                 var province = document.getElementById("Select1");
                 var pindex = province.selectedIndex;
                 var pValue = province.options[pindex].value;
                 if (pValue == 0) {
                     g.value = "Google  搜索";
                     g.onclick = "javascript:googlesearch()";
                 } else if (pValue == 1) {
                     g.value = "百度一下";
                     g.onclick = "javascript:baiduesearch()";
                 }
             }
</script>
    <title></title>
</head><body id="a">
    <select id="Select1" name="D1" >
        <option value="0">Google  搜索</option>
        <option value="1">百度一下</option>
    </select>
    
<input type="text" name="wq"/>
<input id="g" type="submit"  onclick = "javascript:googlesearch()" value="Google 搜索"/>
</body>
</html>切换select下拉菜单的值是百度一下时,submit的value值变了但是不刷新还是google 搜索 怎样才能做到不刷新就可以实现点击select的选项,submit显示对应的值,还有onclick  点击时为什么不跳转到百度或是google,

解决方案 »

  1.   

    nclick = "javascript:googlesearch()" 应该是:nclick = "googlesearch()"<script language="javascript" type="text/javascript">
        window.onload = function () {
            var Select = document.getElementById("Select1");
            var g = document.getElementById("g");
            Select.onchange=function(){
                if(this.value==0){
                    g.value = "Google  搜索";
                    g.onclick = function(){
                        find(0);
                    };
                }else{
                    g.value = "百度一下";
                    g.onclick = function(){
                        find(1);
                    };
                }
            };
        };
        function find(id){
            var wq=document.getElementsByName("wq")[0].value;
            if(wq==""){
                alert("关键词不能为空!");
                document.getElementsByName("wq")[0].focus();
            }else{
                var link=id==0?"http://www.google.com.hk/search?domains=www.williamlong.info&sitesearch=www.williamlong.info&q=" + wq:"http://www.baidu.com/s?si=www.williamlong.info&cl=3&ct=2097152&tn=baidulocal&word="+wq;
                window.open(link);
            }
        }
    </script>
    <select id="Select1" name="D1" >
        <option value="0">Google  搜索</option>
        <option value="1">百度一下</option>
    </select>
    <input type="text" name="wq"/>
    <input id="g" type="button" onclick="find(0)"  value="Google 搜索"/>
      

  2.   

    你需要再select元素上面,绑定一个onchange的事件,否则没有办法select的选择,不管你选择百度,或者谷歌,搜索都是进行的谷歌搜索。在onchange函数内,根据select的选择内容,改变后面的搜索按钮的执行函数,分别执行百度的那个函数,或者是谷歌的函数。
      

  3.   

    你写的可以无刷新改变,但是还有个问题,当你select百度一下时如果刷新一下页面submit的value又会回到google 搜索,这个怎么解决?
      

  4.   

    这是只html,除非你用cookie存起来。<script language="javascript" type="text/javascript">
        window.onload = function () {
            var Select = document.getElementById("Select1");
            var g = document.getElementById("g");
            Select.onchange=function(){
                SetCookie("scs",this.value);
                if(this.value==0){
                    g.value = "Google  搜索";
                    g.onclick = function(){
                        find();
                    };
                }else{
                    g.value = "百度一下";
                    g.onclick = function(){
                        find();
                    };
                }
            };
            if(getCookie("scs")=="1"){
                g.value = "百度一下";
                Select.value=1;
            }
        };
        function find(){
            var id=getCookie("scs");
            var wq=document.getElementsByName("wq")[0].value;
            if(wq==""){
                alert("关键词不能为空!");
                document.getElementsByName("wq")[0].focus();
            }else{
                var link=id=="0"?"http://www.google.com.hk/search?domains=www.williamlong.info&sitesearch=www.williamlong.info&q=" + wq:"http://www.baidu.com/s?si=www.williamlong.info&cl=3&ct=2097152&tn=baidulocal&word="+wq;
                window.open(link);
            }
        }
        function SetCookie(name,value){
            var Days = 30;
            var exp = new Date();
            exp.setTime(exp.getTime() + Days*24*60*60*1000);
            document.cookie = name + "="+ value + ";expires=" + exp.toGMTString();
        }
        function getCookie(name){
            var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
            if(arr != null) return unescape(arr[2]); return null;
        }
    </script>
    <select id="Select1" name="D1" >
        <option value="0">Google  搜索</option>
        <option value="1">百度一下</option>
    </select>
    <input type="text" name="wq"/>
    <input id="g" type="button" onclick="find()"  value="Google 搜索"/>
      

  5.   

    换个思路不就好办了点击事件中判断select 选择值,
    不同值 ,拼接不同url
    动态修改 表单的 action 
    或者,直接 open 
    没必要修改点击事件。
      

  6.   

    我分别对你的问题分别进行回答:
    你问为什么,点击按钮不跳转,
    你去掉 id="g"就可以了
      

  7.   

    另外你问怎么改变Button的值,其实很简单,
    在你的代码基础上,稍加修改就可以了。。
    其实,就是调用了select的onchange事件,而不是调用window的onload方法。

    <!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">  function googlesearch()
               {
    alert(2);
                  var wq = document.getElementsByName("wq")[0].value;
                  var link = "http://www.google.com/search?domains=www.williamlong.info&sitesearch=www.williamlong.info&q=" + wq;
                  window.location.href = (link);
              }
              function baidusearch()
                {
                        var wd=document.getElementsByName("wq")[0].value;
                        var link="http://www.baidu.com/s?si=www.williamlong.info&cl=3&ct=2097152&tn=baidulocal&word="+wq;
                        window.open(link);
                 }             function selectOnChange() {
                     var province = document.getElementById("Select1");
                     var pindex = province.selectedIndex;
     alert(pindex)
                     var pValue = province.options[pindex].value;
                     if (pValue == 0) {
                         g.value = "Google  搜索";
                         g.onclick = "javascript:googlesearch()";
                     } else if (pValue == 1) {
                         g.value = "百度一下";
                         g.onclick = "javascript:baiduesearch()";
                     }
                 }
     
    </script>
        <title></title>
    </head><body id="a">
        <select id="Select1" onchange="selectOnChange()" name="D1" >
            <option value="0">Google  搜索</option>
            <option value="1">百度一下</option>
        </select>
        
    <input type="text" name="wq"/>
    <input id="g"  type="button"  onclick="googlesearch()" value="Google搜索"/></body>
    </html>
      

  8.   

    另外你最好改下这个代码,不然识别不了 function selectOnChange() {
                     var province = document.getElementById("Select1");
                     var pindex = province.selectedIndex;
                     var pValue = province.options[pindex].value;
                     if (pValue == 0) {
                         document.getElementById("g").value = "Google  搜索";
                         document.getElementById("g").onclick = "javascript:googlesearch()";
                     } else if (pValue == 1) {
                         document.getElementById("g").value = "百度一下";
                         document.getElementById("g").onclick = "javascript:baiduesearch()";
                     }
                 }