将文本从ThickBox添加到metabox输入文本字段

时间:2012-04-11 作者:Ken

我有一个自定义的帖子类型,其中有一个元框文本输入区域,当从模式窗口单击链接时,我想从thickbox中插入一个短代码。现在使用下面的代码,单击“插入”按钮时,它只会关闭模式窗口。请告诉我哪里出了问题。

我的厚盒子开得很好。

呈现的页面具有如下链接:

echo \'<td><a href="#" style="display:block" class="button insertdownload" id="download-\'.$d->id.\'">Insert</a></td>\';
我将jQuery调用为:

jQuery(\'.insertdownload\').click(function(){

var did = jQuery(this).attr(\'id\');

did=did.replace(\'download-\', \'\');

if (jQuery(\'#format\').val()>0) {

jQuery(\'#my_new_field\').val(\'[download id="\' + did + \'" format="\' + 

jQuery(\'#format\').val() + \'"]\');

} else {

jQuery(\'#my_new_field\').val(\'[download id="\' + did + \'"]\');

}

window.parent.tb_remove();
});
我的metabox文本字段还包括:

<input type="text" size="25" name="myplugin_new_field" id="my_new_field">
这是原始代码,但我不希望它进入编辑器窗口,我希望它进入我的输入字段。

jQuery(\'.insertdownload\').click(function(){
var win = window.dialogArguments || opener || parent || top;
var did = jQuery(this).attr(\'id\');
did=did.replace(\'download-\', \'\');
if (jQuery(\'#format\').val()>0) win.send_to_editor(\'[download id="\' + did + \'" format="\' + jQuery(\'#format\').val() + \'"]\');
else win.send_to_editor(\'[download id="\' + did + \'"]\');
});

2 个回复
最合适的回答,由SO网友:Ken 整理而成

我知道了,因为它是一个iframe,我想我需要以父窗口为目标。

    jQuery(\'.insertdownload\').click(function(){
    var did = jQuery(this).attr(\'id\');
    did=did.replace(\'download-\', \'\');
    if (jQuery(\'#format\').val()>0) {
    parent.jQuery(\'#my_new_field\').val(\'[download id="\' + did + \'" format="\' + jQuery(\'#format\').val() + \'"]\');
    } else {
    parent.jQuery(\'#my_new_field\').val(\'[download id="\' + did + \'"]\');
    }
    window.parent.tb_remove(); 
    });

SO网友:Adam

您的代码是什么;

jQuery(document).ready(function(){

// your code here...

});
。。。事实上,您的代码应该是这样的;

jQuery(document).ready(function($){

    $(\'.insertdownload\').click(function(){

    var did = \'this is only a test\';

    did=did.replace(\'download-\', \'\');

    if ($(\'#format\').val(\'1\')) {

    $(\'#my_new_field\').val(\'[download id="\' + did + \'" format="\' + 

    $(\'#format\').val() + \'"]\');

    } else {

    $(\'#my_new_field\').val(\'[download id="\' + did + \'"]\');

    }

    window.parent.tb_remove(); 

    });

});
​
看看这里的小提琴。。。LINKAGE

结束

相关推荐

如何在不破坏TinyMCE的情况下在metabox帖子页面上使用媒体上传?

我使用以下代码在帖子或页面管理部分的多个mextabox中上传。适用于元盒,但会打断TinyMCE插入图像。我想知道我怎样才能做到这一点,而又不致于打破僵局。当我覆盖窗口时,问题就出现了。send\\u to\\u editor函数。jQuery(document).ready(function() { jQuery(\'.st_upload_button\').click(function() { targetfield = jQuery(this).prev(