- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть форма настроек юзера в личном кабинете. Часть функционала была в другом файле, хочу объединить
Файл 1
<form method="post" action="/index.php" enctype="multipart/form-data">
.....
тут много ХТМЛ
.....
<input type="submit" name="submit" id="submit" value="Сохранить">
<input type="hidden" name="option" value="com_s">
<input type="hidden" name="view" value="config">
<input type="hidden" name="format" value="json">
<input type="hidden" name="task" value="dSave">
</form>
<script>
function offerSpec() {
if(!jQuery('#specialisations_offer').val().trim().length) {
return;
}
jQuery.ajax({
type: 'POST',
url: '/index.php',
dataType: 'json',
timeout: 5000,
data: {
option: 'com_s',
view: 'config',
format: 'json',
task: 'addSpecialisation',
name: jQuery('#specialisations_offer').val()
},
success: function (data) {
jQuery('#specialisations_offer').val('');
jQuery('#specialisations_done').show();
setTimeout(function() {
jQuery('#specialisations_done').hide();
}, 10000);
}
});
}
jQuery.noConflict();
jQuery(document).ready(function () {
function filter_specialisations(query) {
jQuery('#specialisations div.spec').each(function () {
if (jQuery(this).find('span').text().search(new RegExp(query, 'i')) === 0) {
jQuery(this).show();
} else {
jQuery(this).hide();
}
});
}
filter_specialisations('');
jQuery('#specialisations_name').on('keyup', function () {
filter_specialisations(jQuery(this).val());
});
jQuery(document).on("click", ".del-photo", function (e) {
e.preventDefault();
// var el = jQuery(this).parent().parent().parent();
var id = jQuery(this).attr("data-id");
jQuery.ajax({
type: 'POST',
url: '/index.php',
dataType: 'json',
timeout: 5000,
data: {
option: 'com_s',
view: 'config',
format: 'json',
task: 'delPhoto'
},
success: function (data) {
jQuery('#photo').html('<input type="hidden" name="nophoto" value="1"><input type="file" name="file" id="file"> <span class="loader"></span>');
}
});
});
jQuery(document).on("submit", "form", function (e) {
e.preventDefault();
jQuery.ajax({
type: 'POST',
url: '/index.php',
dataType: 'json',
enctype: 'multipart/form-data',
timeout: 5000,
cache: false,
contentType: false,
processData: false,
data: new FormData(this),
beforeSend: function () {
jQuery('.loader').show();
},
uploadProgress: function (event, position, total, percentComplete) {
jQuery('#submit').val('Сохранить ' + percentComplete + '%');
},
success: function (data) {
if (data.status == 1) {
jQuery('#msg').attr('class', 'ui-state-highlight ui-corner-all').html(data.msg).show();
}
if (data.status == 2) {
jQuery('#msg').attr('class', 'ui-state-error ui-corner-all').html(data.msg).show();
jQuery('#password').val('');
}
if (data.status > 0) {
scrollUp();
}
if (data.src) {
jQuery('#photo').html('<img id="photo" src="/images/s/' + data.src + '" align="left"> <a href="#" class="del-photo"><img src="/media/com_s/images/del.png" style="width: 12px;"></a>');
}
jQuery('#submit').val('Сохранить');
jQuery('.loader').hide();
}
});
});
});
function scrollUp() {
var curPos = jQuery(document).scrollTop();
var scrollTime = curPos / 1.73;
jQuery("body,html").animate({"scrollTop": 0}, scrollTime);
}
</script>
Файл №2
<form method="post" action="/index.php" enctype="multipart/form-data">
.....
тут много ХТМЛ
.....
<input type="submit" name="submit" id="submit" value="Сохранить">
<input type="hidden" name="option" value="com_s">
<input type="hidden" name="view" value="config">
<input type="hidden" name="format" value="json">
<input type="hidden" name="task" value="receptionSave">
</form>
<script>
jQuery.noConflict();
jQuery(document).ready(function() {
jQuery(document).on("submit", "form", function(e) {
e.preventDefault();
jQuery.ajax({
type: 'POST',
url : 'index.php',
data: jQuery(this).serialize(),
success: function(data) {
if(data.status == 1) {
jQuery('#msg').attr('class', 'ui-state-highlight ui-corner-all').html(data.msg).show();
}
if(data.status == 2) {
jQuery('#msg').attr('class', 'ui-state-error ui-corner-all').html(data.msg).show();
}
if(data.status > 0) {
scrollUp();
}
}
});
});
});
function scrollUp() {
var curPos = jQuery(document).scrollTop();
var scrollTime = curPos/1.73;
jQuery("body,html").animate({"scrollTop":0}, scrollTime);
}
</script>
Объединить хтмл труда не стаставляет, я помещаю хтмл вторго файла внутрь формы из первого файла, все рабоатет кроме сохранения.
кнопка сохранить
Не сохраняет данные второй формы.
Какой тут может быть нюанс?
Какой тут может быть нюанс?
Input'ы у обеих форм объединенного файла имеют одинаковые названия.
Я Input'ы втого файла не переносил. Хотел заставить Input' первого файла сохранять все поля формы.
А он сохраняет только свое, поля второй формы сохранять не хочет.
Из второго файла я забрал только ХТМЛ + немного пхх которые были ВНУТРИ формы. Я не переносил нижний JS и Input'ы
Ну покажите тогда объединенный файл, иначе непонятно, но есть подозрение, что у вас там 2 разные формы и обрабатывая первую, вы ждете обработки и второй.
Вот что я взял из второй формы и поместил между такими же полями в первую
<div class="colLeft">
<label>Включить/Отключить Запись</label>
<input type="checkbox" value="1" name="status"<?php echo (!empty($this->reception->status))?' checked="checked"':''; ?>>
<label>Ваш номер телефона</label>
<select name="phone_country">
<option value="7"<?php echo (!empty($this->reception->phone_country) && $this->reception->phone_country == 7)?' selected="selected"':''; ?>>RU +7</option>
<option value="38"<?php echo (!empty($this->reception->phone_country) && $this->reception->phone_country == 38)?' selected="selected"':''; ?>>UA +38</option>
<option value="375"<?php echo (!empty($this->reception->phone_country) && $this->reception->phone_country == 375)?' selected="selected"':''; ?>>BR +375</option>
<option value="373"<?php echo (!empty($this->reception->phone_country) && $this->reception->phone_country == 373)?' selected="selected"':''; ?>>MD +373</option>
</select>
<input type="text" name="phone" maxlength="10" placeholder="Номер телефона" value="<?php echo (!empty($this->reception->phone))?$this->reception->phone:''; ?>" class="ui-corner-all postform" style="width: 132px;">
<label>Стоимость работы в RUB</label>
<input type="text" name="price" value="<?php echo (!empty($this->reception->price))?$this->reception->price:''; ?>" placeholder="0" class="ui-corner-all postform">
<div id="adress">
<label>Адрес ремонта</label>
<input type="text" name="adress[]" value="<?php echo (!empty($this->receptionLocations[0]->geocode))?$this->receptionLocations[0]->geocode:''; ?>" placeholder="г. Москва, ул. Ленина 5" class="ui-corner-all postform">
<input type="text" name="adress[]" value="<?php echo (!empty($this->receptionLocations[1]->geocode))?$this->receptionLocations[1]->geocode:''; ?>" placeholder="г. Москва, ул. Ленина 5" class="ui-corner-all postform">
<input type="text" name="adress[]" value="<?php echo (!empty($this->receptionLocations[2]->geocode))?$this->receptionLocations[2]->geocode:''; ?>" placeholder="г. Москва, ул. Ленина 5" class="ui-corner-all postform">
</div>
</div>
Если меняю в этих полях что-то оно не сохраняется, а в других сохраняется
Dram, блин, столько на форуме, пора бы уже знать,что код нужно помещать в [code][/code], а не в цитаты.
Эти теги часто ставят смайлики вместо кода, поэтому их и не использую
Эти теги часто ставят смайлики вместо кода, поэтому их и не использую
Найди 10 отличий между [php] и [code] и используй последний. Нечитабельные портянки мало кому интересны.
По делу есть чего или так и будем красоту наводить?
По делу есть чего или так и будем красоту наводить?
Я тебе по делу и сказал. Не понял? Я повторю - такие портянки осилят только очень сильные духом :).