Доброго всем времени суток!
в общем. На сайте есть форма выбора(form.select1) при заполнение которого применяется фильтр на карте и показывает доступные варианты, Форма(form.select1) полностью рабочая, но для вывода отфильтрованных данных ей необходимо перейти на конкретный url(/flats-sale/) с содержащим в себе компоненты отвечающие за вывод информации формы выбора, в нашем случае это карта(custom.objectes.list) , поиск(form.select2) и список вариантов (custom.objectes.mine).
Так вот, задача такая, необходимо в форме поиска(form.select1) для "input" который выполняет функцию кнопки по нажатию которой фильтрует данные и выводит их на (custom.objectes.list) (custom.objectes.mine) задать переход на другую страницу(/flats-sale/).
задача я думаю не сложна.. но собственными силами решить ее не получается.. в шаблоне компонента не смог найти данные отвечающие за работу input.
(form.select1) =>
Код |
---|
<?$APPLICATION->IncludeComponent("custom:form.select1", ".default", array(
"REGION_ID" => "14",
"SELECT_BY" => array(
"METRO" => "Y",
"ROOMS" => "Y",
"ROOM" => "Y",
"STUDIO" => "Y",
"PRICE" => "Y",
"M_PRICE" => "N",
"SQUARE" => "Y",
"KITCHEN" => "Y",
"BUSINESS_CENTER" => "N",
"DEADLINE" => "N",
"TYPE" => "N",
)
),
false,
array(
"ACTIVE_COMPONENT" => "Y"
)
);?> |
кусок кода отвечающий за кнопку /bitrix/components/custom/form.select1/templates/.default/template.php =>
Код |
---|
<tr>
<td colspan="2" id="strt_search">
<input type="image" src="/upload/images/button_search.png"
onmouseover="this.src='/upload/images/button_search_hover.png'" onmouseout="this.src='/upload/images/button_search.png'">
</td>
</tr> |
/bitrix/components/custom/form.select1/templates/.default/script.js =>
Код |
---|
function CustomSelect(id,name,type) {
if (document.getElementById('Custom' + type + 'Input').value > "") var SelArr = document.getElementById('Custom' + type + 'Input').value.split(',');
else var SelArr = new Array();
for(var i=0; i<SelArr.length; i++) {
if (SelArr[i]==id) return;}
SelArr.push(id);
var selected = document.getElementById('CustomSelected' + type).innerHTML;
selected += ' <span id="in' + type + id + '"><a href=# onclick="CustomDelete(' + id + ', \'' + type + '\')">X</a> ' + name + ' </span>';
document.getElementById('CustomSelected' + type).innerHTML = selected;
document.getElementById('Custom' + type + 'Input').value = SelArr.join(',');
document.getElementById(type + id).className = "selected";
}
function CustomDelete(id,type) {
if (type == 'Distr') {
$('#district' + id + 'image').hide();
$('#district' + id + 'image').removeClass('active');
}
if (document.getElementById('Custom' + type + 'Input').value > "") var SelArr = document.getElementById('Custom' + type + 'Input').value.split(',');
else var SelArr = new Array();
document.getElementById('in' + type + id).innerHTML = '';
for(var i=0; i<SelArr.length; i++) {
if (SelArr[i]==id) {
SelArr.splice(i,1);}
}
document.getElementById(type + id).className = 'noselected';
document.getElementById('Custom' + type + 'Input').value = SelArr.join(',');
}
function checkDeadline(obj) {
if (obj.checked) {
document.getElementById('dtokv').disabled = false;
document.getElementById('dtoyear').disabled = false;
}
else {
document.getElementById('dtokv').disabled = true;
document.getElementById('dtoyear').disabled = true;
}
}
function ClearSelectorForm() {
//var field1, field2;
if (field = document.getElementById('CustomSelectedMetro')) {
field.innerHTML = "";}
if (field = document.getElementById('CustomSelectedDistr')) field.innerHTML = "";
if (field = document.getElementById('dtokv')) field.disabled = true;
if (field = document.getElementById('dtoyear')) field.disabled = true;
var inputes = document.getElementById("selectorForm").getElementsByTagName("input");
for (var i in inputes) {
if (inputes[i].type == "text") inputes[i].value = "";
if (inputes[i].type == "hidden") inputes[i].value = "";
else if (inputes[i].type == "checkbox") inputes[i].checked = false; }
var imgs = document.getElementById('border2Distr').getElementsByTagName('img')
for (var i=1; i<imgs.length; i++) imgs[i].className = 'noselected';
var imgs = document.getElementById('border2Metro').getElementsByTagName('img')
for (var i=1; i<imgs.length; i++) imgs[i].className = 'noselected';
}
$( function() {
if ($('#select-type').val() == 2227 || $('#select-type').val() == 3390) $('#select-business-center-tr').show();
$('#selDistrHref').click(function(){
$('#map2selectDistr').slideDown(600);
});
$('#selMetroHref').click(function(){
$('#map2selectMetro').slideDown(600);
});
$('#map2selectDistr p.closeIt').click(function(){
$('#map2selectDistr').slideUp(600);
});
$('#map2selectMetro p.closeIt').click(function(){
$('#map2selectMetro').slideUp(600);
});
$('#select-type').change(function(){
if ($(this).val() == 2227 || $(this).val() == 3390) $('#select-business-center-tr').show(400);
else $('#select-business-center-tr').hide(400);
});
}) |
пробовал
Код |
---|
<tr>
<td colspan="2" id="strt_search">
<a href="/flats-sale/"><input type="image" src="/upload/images/button_search.png" onmouseover="this.src='/upload/images/button_search_hover.png'"
onmouseout="this.src='/upload/images/button_search.png'"</a>
</td>
</tr> |
и
Код |
---|
<tr>
<td colspan="2" id="strt_search">
<input id="but_sea4" type="image" src="/upload/images/button_search.png" onmouseover="this.src='/upload/images/button_search_hover.png'"
onmouseout="this.src='/upload/images/button_search.png'"
<a href="/flats-sale/"><label for="but_sea4"></label></a>
</td>
</tr>
|
ни 1 из вариантов не решил задачу.
буду рад любой помощи! если необходимо могу скинуть весь код.