Javascript调用传递的函数和params

时间:2014-12-10 15:45:32

标签: javascript

我正在尝试重新调整“遗留函数”,将带参数的函数传递给另一个函数并调用。我已经看到了我正在寻找的点点滴滴,但我的论点不断传递为单个字符串。这是调用代码 - 第四个参数(以'_delRideNew'开头)是我需要调用的。

MODAL.show("Confirm", "Are you sure you want to delete this ride?","Yes","_delRideNew('" + id + "','" + day + "','" + attuid + "')","No","MODAL.hide();")

这是MODAL.show代码(使用easyui):

MODAL.show = function(title, msg, okbtn, okcallback, canbtn, cancallback) {
if(arguments.length > 2) {
    $.messager.defaults.ok = okbtn;
    $.messager.defaults.cancel = canbtn;
}
else {
    $.messager.defaults.ok = "OK";
    $.messager.defaults.cancel = "Cancel";
}

if(arguments.length === 6) {
    var me = $.messager.confirm(title, msg, function(r) {

        if(r) {
            //parse out function and args
            var pos = okcallback.indexOf("(");
            var func = okcallback.substring(0,pos);
            var argss = okcallback.substring(pos,okcallback.length);
            argss = argss.replace("(", "");
            argss = argss.replace(")", ""); 

            var argArray = argss.split(",");

            window[func](argArray);
        }
        else {
            cancallback;
        }
    });
    me.window('move',{
        left:400,
        top:document.body.scrollTop+document.documentElement.scrollTop+200
    });     
}
else {
    confirm(msg, function(r) {
        if(r) {
            return true;
        }
        else {
            return false;
        }
    });
}

}
问题是当窗口[func]被调用时,它将数组作为单个字符串传递到这里:

        function _delRideNew(id,day,attuid){
            alert(id); //shows all 3 params as a string
            var txtURL =  'delRide.cfm?tech_attuid=' + attuid + '&ride_date=#getParam("month")#/' + day + "/#getParam("year")#";
            SYS.loadScript(txtURL);
            status = txtURL;

        }

我很可能完全错误地做了这件事,但任何帮助都会有,好......有用。

0 个答案:

没有答案