jQuery与wordpress中的页面中的媒体上传按钮冲突

时间:2014-11-28 12:48:48

标签: jquery wordpress

我创建了多个图像上传元字段, 我正在写主题的Functions.php,

中的jQuery代码
<script type="text/javascript">
    jQuery(document).ready(function($){
            jQuery('#add-row').on('click', function() {
                var row = jQuery('.empty-row.screen-reader-text').clone(true);
                row.removeClass('empty-row screen-reader-text');
        row.insertAfter('#repeat_div table:last');
        return false;
            });

            jQuery('.remove-row').on('click', function() {
        jQuery(this).parents('table').remove();
        return false;
            });
    });
    </script>
    <script type="text/javascript">
        jQuery(document).ready(function() {

    jQuery('.st_upload_button').click(function() {
         targetfield = jQuery(this).prev('.upload-url');
         tb_show('', 'media-upload.php?type=image&amp;TB_iframe=true');
         return false;
    });

    window.send_to_editor = function(html) {
         imgurl = jQuery('img',html).attr('src');
         jQuery(targetfield).val(imgurl);
         tb_remove();
    }
});

</script>

但该代码与wordpress中的媒体上传按钮相冲突,图片未上传, 我该如何解决这个问题,尽快指导我

由于 阿迪尔

2 个答案:

答案 0 :(得分:1)

您可以使用此脚本简单地实现此功能:

  /* include wordpress media uploader script */
  wp_enqueue_media();  

 /* now html field and button   */ 
   <div class="uploader">
    <input id="_unique_name" name="settings[_unique_name]" type="text" />
    <input id="_unique_name_button" class="button" name="_unique_name_button" type="text" value="Upload" />
   </div>
   <div><img src="" width="100" id="testimage"></div>

   /*now scripts */
   <script type="text/javascript">
      jQuery(document).ready(function()
      {
       jQuery('#_unique_name_button').click(function()
        {
      wp.media.editor.send.attachment = function(props, attachment)
      {
        jQuery('#_unique_name').val(attachment.url);
        jQuery('#testimage').attr('src', attachment.url);
       }

      wp.media.editor.open(this);

       return false;
        });
      });
       </script>

答案 1 :(得分:0)

在jquery中使用event.preventDefault()

        jQuery('.remove-row').on('click', function(e) {
    jQuery(this).parents('table').remove();
    e.preventDefaults();
    return false;
        });

ref