JavaScript: change function(this) to function(this.id)

JavaScript: change function(this) to function(this.id)

本文关键字:this function id to change JavaScript      更新时间:2023-09-26

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

JS:

<script type="text/javascript">
function openKCFinder(field) {
    window.KCFinder = {
        callBack: function(url) {
            field.value = url;
            window.KCFinder = null;
        }
    };
    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"
    );
}
</script>
HTML:

<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)

现在我需要将(this)更改为(this.id)以更改打开urltype。即:如果textbox/input id="video"type=video或如果textbox/input id="audio",则type=audio

如何根据我的需要改变这个功能?

DEMO Kcfinder文本框

你可以这样做:

<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>

如果你对id很确定,你也可以使用

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"
);

您可能还会对MDN的HTMLInputElement文档感兴趣,该文档描述了fieldthis的属性。