日期:2014-05-16  浏览次数:20409 次

JS修改form.action的问题
代码如下:
 SaveAs:function(o){
        var obj=o;
        obj.action=obj.action.replace("action=Modify","action=New");
        alert(obj==o);//为什么为真???????????
        return obj;
    }
实现两个按钮提交到两个不同的地址,
因为我是在FORM外提交,所以只能用JS修改提交的地址,参数o是要提交的原始表单,把o付值给obj,修改obj的action后,发现o的action值也变成了obj一样,也就是说,o和obj这两个对象是一样的,修改一个另一个也修改了,这是怎么回事?要怎么改呢?

------解决方案--------------------
你把一个对象赋值到另一个变量时  这个变量就指向了这个对象 所以两者其实是同意对象的不同别名  你看下按值传递 和按引用传递那块
------解决方案--------------------
 var obj=o.cloneNode(true);