В стандартных формах webasyst не всегда есть возможность вывести атрибут placeholder через шаблон темы дизайна. Как пример, стандартная контактная форма webasyst в личном кабинете, адреса и т.д. Пример реализации на Jquery
Берем значение для placeholder из title поля
$('.wa-field-address input').each(function(){
var $input = $(this)
var title = $input.attr('title')
$input.attr('placeholder', title)
})
А вот так из span стоящего перед полем
$('.wa-field-password input').each(function(){
var $input = $(this)
var span = $input.prev();
$input.attr('placeholder', span.text());
})
Для формы регистрации
$('.wa-signup-form-fields input').each(function(){
var $input = $(this)
var title = $(this).parents('.wa-field').find('.wa-name');
$input.attr('placeholder', title.text());
})
Универсальная функция подстановки подсказки в input
(function ($) {
var address = $('.wa-field-address');
// берём все .wa-field, кроме адреса(у него подпункты со своей структурой)
var fields = $('.wa-field').not(address);
if (fields.length) {
fields.each(function (i, el) {
var wa_field = $(el);
var wa_name = wa_field.find('.wa-name');
if (wa_name.length) {
wa_field.find('input').attr('placeholder', wa_name.text());
}
});
}
// работает с подпунктами адреса, не являющимися select
if (address.length) {
var address_fields = address.find('.field');
if (address_fields.length) {
address_fields.each(function (i, el) {
var field = $(el);
var name = field.find('span:first-child');
var input = field.find('input');
if (input.length) {
input.attr('placeholder', name.text());
}
});
}
}
})(jQuery);
Решение для order.html
( function($) {
var inputs = $('[type=text], [type=email], [type=tel]');
if(inputs.length) {
inputs.each(function(i, el){
var input = $(el);
var label = input.parent().find('.wa-label');
if(label.length) {
label.hide();
input.attr('placeholder', label.text());
}
});
}
})(jQuery);
function orderInputPlaceholder(input, placeholder){
if($(input).length) {
$(input).attr('placeholder', placeholder);
}
}
orderInputPlaceholder('[name="auth[data][company]"]', 'Наименование или ИНН');

