verfaa
Профессор
- Регистрация
- 29 Янв 2007
- Сообщения
- 417
- Реакции
- 49
- Автор темы
- #1
Всем привет. С joomla раньше никогда не работал, а тут возникла необходимость подправить сайт на этой cms.
На главной странице есть ссылка, кликая на которую всплывает модальное окно с формой регистрацией. В этой форме есть картинка, кликая на которую юзер может добавить фото. Затем при сабмите формы сохранить эту картинку в папку. Вроде бы все просто... если бы не joomla.
В форме прописан следующий action
Мне нужно каким то образом этот код
встроить в функцию submitbutton() (она вызывается при сабмите формы) Там уже видимо кто-то пытался подключить jquery виджет Plupload...
Вот тело функции submitbutton()
Помогите пожалуйста!
На главной странице есть ссылка, кликая на которую всплывает модальное окно с формой регистрацией. В этой форме есть картинка, кликая на которую юзер может добавить фото. Затем при сабмите формы сохранить эту картинку в папку. Вроде бы все просто... если бы не joomla.
В форме прописан следующий action
Код:
<form action="<?php echo $target;?>" method="post" name="adminForm" id="adminForm" enctype="multipart/form-data" onsubmit="return submitbutton(this)">
Мне нужно каким то образом этот код
Код:
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()
Код:
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;
}
}
Помогите пожалуйста!
Последнее редактирование: