Всем привет. С joomla раньше никогда не работал, а тут возникла необходимость подправить сайт на этой cms. На главной странице есть ссылка, кликая на которую всплывает модальное окно с формой регистрацией. В этой форме есть картинка, кликая на которую юзер может добавить фото. Затем при сабмите формы сохранить эту картинку в папку. Вроде бы все просто... если бы не joomla. В форме прописан следующий action Код (CODE): <form action="<?php echo $target;?>" method="post" name="adminForm" id="adminForm" enctype="multipart/form-data" onsubmit="return submitbutton(this)"> Мне нужно каким то образом этот код Код (CODE): var fd = new FormData(); fd.append('img', $('#imgFile')[0].files[0]); $.ajax({ type: 'POST', url: '/templates/beez_20/html/com_adsmanager/edit/ajax.php', data: fd, processData: false, contentType: false, dataType: "json", success: function(data) { }, error: function(data) { } }); встроить в функцию submitbutton() (она вызывается при сабмите формы) Там уже видимо кто-то пытался подключить jquery виджет Plupload... Вот тело функции submitbutton() Код (CODE): function submitbutton(mfrm) { var me = mfrm.elements; var r = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-]", "i"); var r_num = new RegExp("[^0-9\., ]", "i"); var r_email = new RegExp("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,3}$" ,"i"); var errorMSG = ''; var iserror=0; <?php if (function_exists("loadEditFormCheck")){ loadEditFormCheck(); } ?> <?php if ($this->nbcats > 1) { ?> var form = document.adminForm; var srcList = eval( 'form.selected_cats' ); var srcLen = srcList.length; if (srcLen == 0) { errorMSG += <?php echo json_encode(JText::_('ADSMANAGER_FORM_CATEGORY')); ?>+" : "+<?php echo json_encode(JText::_('ADSMANAGER_REGWARN_ERROR')); ?>+'\n'; srcList.style.background = "red"; iserror=1; } else { for (var i=0; i < srcLen; i++) { srcList.options[i].selected = true; } } <?php } ?> if (mfrm.username && (r.exec(mfrm.username.value) || mfrm.username.value.length < 3)) { errorMSG += mfrm.username.getAttribute('mosLabel').replace(' ',' ') + ' : '+<?php echo json_encode(sprintf( JText::_('ADSMANAGER_VALID_AZ09'), JText::_('ADSMANAGER_PROMPT_UNAME'), 4 )); ?>+'\n'; mfrm.username.style.background = "red"; iserror=1; } if (mfrm.password && r.exec(mfrm.password.value)) { errorMSG += mfrm.password.getAttribute('mosLabel').replace(' ',' ') + ' : '+<?php echo json_encode(sprintf( JText::_('ADSMANAGER_VALID_AZ09'), JText::_('ADSMANAGER_REGISTER_PASS'), 6 )); ?>+'\n'; mfrm.password.style.background = "red"; iserror=1; } if (mfrm.email && !r_email.exec(mfrm.email.value) && mfrm.email.getAttribute('mosReq')) { errorMSG += mfrm.email.getAttribute('mosLabel').replace(' ',' ') + ' : '+<?php echo json_encode(JText::_('ADSMANAGER_REGWARN_EMAIL')); ?>+'\n'; mfrm.email.style.background = "red"; iserror=1; } // loop through all input elements in form for (var i=0; i < me.length; i++) { if ((me[i].getAttribute('test') == 'number' ) && (r_num.exec(me[i].value))) { errorMSG += me[i].getAttribute('mosLabel').replace(' ',' ') + ' : '+<?php echo json_encode(JText::_('ADSMANAGER_REGWARN_NUMBER')); ?>+'\n'; iserror=1; } // check if element is mandatory; here mosReq="1" if ((me[i].getAttribute('mosReq') == 1)&&(me[i].type == 'hidden')&&(me[i].value == '')) { // add up all error messages errorMSG += me[i].getAttribute('mosLabel').replace(' ',' ') + ' : '+<?php echo json_encode(JText::_('ADSMANAGER_REGWARN_ERROR')); ?>+'\n'; // notify user by changing background color, in this case to red el = me[i].getAttribute('mosElem'); elem = document.getElementById(el); elem.style.background = "red"; iserror=1; } else if ((me[i].getAttribute('mosReq') == 1)&&(me[i].style.visibility != 'hidden')&&(me[i].style.display != 'none')) { if (me[i].type == 'radio' || me[i].type == 'checkbox') { var rOptions = me[me[i].getAttribute('name')]; var rChecked = 0; if(rOptions.length > 1) { for (var r=0; r < rOptions.length; r++) { if (rOptions[r].checked) { rChecked=1; } } } else { if (me[i].checked) { rChecked=1; } } if(rChecked==0) { // add up all error messages errorMSG += me[i].getAttribute('mosLabel').replace(' ',' ') + ' : '+<?php echo json_encode(JText::_('ADSMANAGER_REGWARN_ERROR')); ?>+'\n'; // notify user by changing background color, in this case to red me[i].style.background = "red"; iserror=1; } } if (me[i].value == '') { // add up all error messages errorMSG += me[i].getAttribute('mosLabel').replace(' ',' ') + ' : '+<?php echo json_encode(JText::_('ADSMANAGER_REGWARN_ERROR')); ?>+'\n'; // notify user by changing background color, in this case to red me[i].style.background = "red"; iserror=1; } } } <?php if ((@$this->content->id == 0)&&($this->conf->show_accept_rules == 1)) {?> if (!jQ('#acceptrules').is(':checked')) { iserror=1; errorMSG += <?php echo json_encode(JText::_('ADSMANAGER_YOU_MUST_ACCEPT_RULES')) ?>; } <?php } ?> if(iserror==1) { alert(errorMSG); return false; } else { <?php if ($withImages) {?> var uploader = jQ('#uploader').pluploadQueue(); // Files in queue upload them first if (uploader.files.length > 0) { // When all files are uploaded submit form uploader.bind('StateChanged', function() { if (uploader.files.length === (uploader.total.uploaded + uploader.total.failed)) { //Little hack to be able to return the selected_cats <?php if ($this->nbcats > 1) { ?> var srcList = eval( 'form.selected_cats' ); srcList.name = "selected_cats[]"; <?php } ?> jQ('#adminForm')[0].submit(); } }); uploader.start(); return false; } <?php } ?> //Little hack to be able to return the selected_cats <?php if ($this->nbcats > 1) { ?> srcList.name = "selected_cats[]"; <?php } ?> return true; } } Помогите пожалуйста!