Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:将函数(this)更改为函数(this.id)_Javascript - Fatal编程技术网

JavaScript:将函数(this)更改为函数(this.id)

JavaScript:将函数(this)更改为函数(this.id),javascript,Javascript,我有这个javascript函数用于打开文本框的文件管理器url JS: 函数openKCFinder(字段){ window.KCFinder={ 回调:函数(url){ field.value=url; window.KCFinder=null; } }; 窗口打开(“http://localhost/cms/kc/browse.php?type=video&dir=files/public“,”kcfinder_文本框“, 状态=0,工具栏=0,位置=0,菜单栏=0,目录=0+ 可调整大

我有这个
javascript
函数用于打开文本框的文件管理器url

JS:


函数openKCFinder(字段){
window.KCFinder={
回调:函数(url){
field.value=url;
window.KCFinder=null;
}
};
窗口打开(“http://localhost/cms/kc/browse.php?type=video&dir=files/public“,”kcfinder_文本框“,
状态=0,工具栏=0,位置=0,菜单栏=0,目录=0+
可调整大小=1,滚动条=0,宽度=800,高度=600
);
}
HTML:

//我需要更改openKCFinder(this.id)
//我需要更改openKCFinder(this.id)
现在我需要将
(this)
更改为
(this.id)
,以更改open
url
类型。ie:if
textbox/input id=“video”
type=video
或if
textbox/input id=“audio”
type=audio

如何根据需要更改此功能


演示

您可以这样做:

<script type="text/javascript">

function openKCFinder(field) {
    window.KCFinder = {
        callBack: function(url) {
            field.value = url;
            window.KCFinder = null;
        }
    };
    if (field.id === 'video') {
        window.open("http://localhost/cms/kc/browse.php?type=video&dir=files/public", "kcfinder_textbox",
            "status=0, toolbar=0, location=0, menubar=0, directories=0, " +
            "resizable=1, scrollbars=0, width=800, height=600"
        );
    }
    else if (field.id === 'audio') {
        // open something else
    }
    else {
        // handle something unknown
    }
}

</script>

您可能还对它感兴趣,它描述了您在
字段中使用
this
所具有的属性,当前使用
openKCFinder(this)
字段
变成this,因此您可以将打开的窗口包装成
如果(field.id=='video'){}
@metadings:您说得对!这现在起作用了。对于每个id
if(){}
?或者
如果还有更好的?
<input id="video" onclick="openKCFinder(this)" class="form-control" type="text" name="video" placeholder="add video"> // i need to change openKCFinder(this.id)

<input id="audio" onclick="openKCFinder(this)" class="form-control" type="text" name="video" placeholder="add video"> // i need to change openKCFinder(this.id)
<script type="text/javascript">

function openKCFinder(field) {
    window.KCFinder = {
        callBack: function(url) {
            field.value = url;
            window.KCFinder = null;
        }
    };
    if (field.id === 'video') {
        window.open("http://localhost/cms/kc/browse.php?type=video&dir=files/public", "kcfinder_textbox",
            "status=0, toolbar=0, location=0, menubar=0, directories=0, " +
            "resizable=1, scrollbars=0, width=800, height=600"
        );
    }
    else if (field.id === 'audio') {
        // open something else
    }
    else {
        // handle something unknown
    }
}

</script>
window.open("http://localhost/cms/kc/browse.php?type=" + field.id + "&dir=files/public", "kcfinder_textbox",
    "status=0, toolbar=0, location=0, menubar=0, directories=0, " +
    "resizable=1, scrollbars=0, width=800, height=600"
);