<script>
function changeAction(){
if(/test1$/.test(location.search)){
  document.form1.action = "http://tes1.com";
}
else if(/test2$/.test(location.search)){
  document.form1.action = "http://tes2.com";
}
}window.attachEvent("onload", changeAction);
</script>
<form name="form1">
<input type="button" value="Show Action" onclick="alert(this.form.action)">
</form>

解决方案 »

  1.   

    /test1$/.test(location.search) /test1$/ 正则表达式,用来匹配url,可根据情况变化修改
    test 方法,返回一个 Boolean 值,指出在被查找的字符串中是否存在模式
    location.search,返回url字符串中?号之后的部分楼上的写法很简洁,俺也有收获:)
    另外window.attachEvent("onload", changeAction);
    可用
    window.onload = changeAction;
    代替
      

  2.   

    用window.onload = changeAction;代替可能会导致一个错误:如果页面中存在另一个window.onload事件,就会发生冲突
      

  3.   

    的确如此,实验了一下,结果的确不同,执行顺序和想像的也不一样
    <script language="javascript">
    window.onload = a;
    window.onload = b;
    //window.attachEvent("onload", a);
    //window.attachEvent("onload", b);
    function a()
    {
    alert("a");
    }
    function b()
    {
    alert("b");
    }
    </script>
      

  4.   

    onclick="alert(this.form.action),我需要点来了按钮就直接去不同的页面,onclick该怎么改呀?
      

  5.   

    汗,那个是为了让你看着直观
    onclick="submit();"