вопрос
Обратился к человеку на фл.ру по рекомендации, советовали как хорошего специалиста, заказал до безобразия простой модуль, по спец не доделав до конца работу пропал. Ниже пропишу код и что не получается у меня доделать, буду признателен за любую помощь.
Это в addnews.php
Но загрузку фото он не доделал, вместо нее третий ипут. Я попробовал выдернуть загрузку фото в 11 версии, та что в новых доп полях. Получился вот такой код
Спасибо за внимание. Буду признателен за любую помощь.
Это в addnews.php
<div class="tab-pane" id="tabacters" >Должно было получится как то так:
<div class="row box-section">
<script>
$(document).ready(function(){
function makeid()
{
var text = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for( var i=0; i < 8; i++ )
text += possible.charAt(Math.floor(Math.random() * possible.length));
return text;
}
$("#add_new_acter").on("click", function (){
var code = makeid();
var html_code = '<div class="actors_input">'+
'<table class="table_acters">'+
'<tbody>'+
'<tr>'+
'<td><input type="text" name="table_acters['+code+'][name]" class="input_acters"></td>'+
'<td><input type="text" name="table_acters['+code+'][name_second]" class="input_acters"></td>'+
'<td><div id="file-actors_'+code+'"></div><input type="text" name="table_acters['+code+'][image_link]" class="input_acters" id="xf_'+code+'"></td>'+
'<td style="width: 10%;text-align: center;"><a href="#inputs_1" class="delete">Убрать</a></td>'+
'</tr>'+
'</tbody>'+
'</table></div>';
$(".form_inputs_forms").append(html_code);
return false;
});
$(document).on('click', '.delete', function(){
$(this).closest(".actors_input").remove();
return false;
});
});
</script>
<div class="header_actors">Название</div>
<div class="form_inputs">
<table class="table_acters">
<thead>
<td>Название</td>
<td>Название</td>
<td>Картинка</td>
<td style="width: 10%;text-align: center;">Действие</td>
</thead>
</table>
<div class="form_inputs_forms">
<div class="actors_input">
<table class="table_acters">
<tbody>
<tr>
<td><input type="text" name="table_acters[0][name]" class="input_acters"></td>
<td><input type="text" name="table_acters[0][name_second]" class="input_acters"></td>
<td><div id="file-actors_0"></div><input type="hidden" name="table_acters[0][image_link]" class="input_acters" id="xf_0" value="" /></td>
<td style="width: 10%;text-align: center;"><a href="#" class="delete">Удалить</a></td>
</tr>
</tbody>
</table>
</div>
</div>
<br>
<button class="btn btn-gray pull-left" id="add_new_acter">Добавить</button>
</div>
</div>
</div>
Но загрузку фото он не доделал, вместо нее третий ипут. Я попробовал выдернуть загрузку фото в 11 версии, та что в новых доп полях. Получился вот такой код
Когда его добавляю в addnews.php то у этого инпута
jQuery(document).ready(function ($) {
var uploader = new qq.FileUploader({
element: document.getElementById('file-actors_'+0),
action: '{$root}engine/ajax/upload.php',
maxConnections: 1,
multiple: false,
encoding: 'multipart',
sizeLimit: 0,
allowedExtensions: ['gif', 'jpg', 'png'],
params: {"PHPSESSID" : "{$sess_id}", "subaction" : "upload", "news_id" : "{$news_id}", "area" : "actors", "author" : "{$author}"},
template: '<div class="qq-uploader">' +
'<div id="uploadedfile_'+0+'">{$up_image}</div><div class="qq-upload-drop-area"><span>{$lang['media_upload_st5']}</span></div>' +
'<div class="qq-upload-button btn btn-green" style="width: auto;">{$lang['xfield_xfim']}</div>' +
'<ul class="qq-upload-list" style="display:none;"></ul>' +
'</div>',
onsubmit: function(id, fileName) {
$('<div id="uploadfile-'+id+'" class="file-box"><span class="qq-upload-file-status">{$lang['media_upload_st6']}</span><span class="qq-upload-file"> '+fileName+'</span><span class="qq-status"><span class="qq-upload-spinner"></span><span class="qq-upload-size"></span></span><div class="progress "><div class="progress-bar progress-blue" style="width: 0%"><span>0%</span></div></div></div>').appendTo('#file-actors_'+0);
},
onProgress: function(id, fileName, loaded, total){
$('#uploadfile-'+id+' .qq-upload-size').text(uploader._formatSize(loaded)+' {$lang['media_upload_st8']} '+uploader._formatSize(total));
var proc = Math.round(loaded / total * 100);
$('#uploadfile-'+id+' .progress-bar').width( 8 + '%');
$('#uploadfile-'+id+' .qq-upload-spinner').css( "display", "inline-block");
},
onComplete: function(id, fileName, response){
if ( response.success ) {
var returnbox = response.returnbox;
var returnval = response.xfvalue;
returnbox = returnbox.replace(/</g, "<");
returnbox = returnbox.replace(/>/g, ">");
returnbox = returnbox.replace(/&/g, "&");
$('#uploadfile-'+id+' .qq-status').html('{$lang['media_upload_st9']}');
$('#uploadedfile_'+0).html( returnbox );
$('#xf_'+0).val(returnval);
setTimeout(function() {
$('#uploadfile-'+id).fadeOut('slow', function() { $(this).remove(); });
}, 1000);
} else {
$('#uploadfile-'+id+' .qq-status').html('{$lang['media_upload_st10']}');
if( response.error ) $('#uploadfile-'+id+' .qq-status').append( '<br /><font color="red">' + response.error + '</font>' );
setTimeout(function() {
$('#uploadfile-'+id).fadeOut('slow');
}, 4000);
}
},
messages: {
typeError: "{$lang['media_upload_st11']}",
sizeError: "{$lang['media_upload_st12']}",
emptyError: "{$lang['media_upload_st13']}"
},
debug: false
});
});
function xfimagedelete( xfname, xfvalue )
{
DLEconfirm( '{$lang['image_delete']}', '{$lang['p_info']}', function () {
ShowLoading('');
$.post('engine/ajax/upload.php', { subaction: 'deluploads', user_hash: '{$dle_login_hash}', 'images[]' : xfvalue }, function(data){
HideLoading('');
$('#uploadedfile_'+0).html('');
$('#xf_'+0).val('');
});
} );
return false;
};
function xffiledelete( xfname, xfvalue )
{
DLEconfirm( '{$lang['file_delete']}', '{$lang['p_info']}', function () {
ShowLoading('');
$.post('engine/ajax/upload.php', { subaction: 'deluploads', user_hash: '{$dle_login_hash}', 'files[]' : xfvalue }, function(data){
HideLoading('');
$('#uploadedfile_'+0).html('');
$('#xf_'+0).val('');
$('#xf_'+0).hide('');
});
} );
return false;
};
<div id="file-actors_0"></div><input type="hidden" name="table_acters[0][image_link]" class="input_acters" id="xf_0" value="" />появляется загрузчик, все загружает и удаляет даже. Но вот как добавить загрузчик к другим добавленным инпутам у меня не получается, то есть как то нужно чтобы при нажатии на
<button class="btn btn-gray pull-left" id="add_new_acter">Добавить</button>добавлялся не только
<div id="file-actors_'+code+'"></div><input type="text" name="table_acters['+code+'][image_link]" class="input_acters" id="xf_'+code+'">а и javascript с таким же уникальным +code+
element: document.getElementById('file-actors_''+code+'),.
Спасибо за внимание. Буду признателен за любую помощь.