Запретить воспринимать скрипт для отдельной формы

голоса: 0

Добрый день! У меня на сайте установлен скрипт, который выводит форму для согласия с политикой конфиденциальности.

Можно ли как-то сделать, чтобы запретить воспринимать этот скрипт для отдельной формы обратной связи? А для других форм скрипт по-прежнему, чтобы работал.

 <script>function agree(){ $('[name=mform] [type=submit], #gbsbm,#mchatBtn,.uf-btn,#addcBut').parent().parent().before("<tr><td colspan=\"2\"><a href=javascript:// onclick='_open(\"/index/policy=1\",700,500); return false;\'>Согласен с политикой конфиденциальности сайта</a><input class=\"police\" type=\"checkbox\"></td></tr>"); $('[name=mform] [type=submit], #gbsbm,#mchatBtn,.uf-btn,#addcBut').prop("disabled", true); $('input.police').live('click', function(){ if($(this).prop('checked') == 1) { $('[name=mform] [type=submit], #gbsbm,#mchatBtn,.uf-btn,#addcBut').prop("disabled", false); }else{ $('[name=mform] [type=submit], #gbsbm,#mchatBtn,.uf-btn,#addcBut').prop("disabled", true); }});}; function _open( url, width, height ) { window.open( url, 'test', 'scrollbars=1,resizable=1,width=' + width + ',height=' + height + ',left=' + ((window.innerWidth - width)/2) + ',top=' + ((window.innerHeight - height)/2) );} agree();</script>

Запретить воспринимать скрипт для формы   $MFORM_2$ отправки жалоб на объявление

Пример размещения формы: http://yurpomoch.ucoz.ru/board/nedvizhimost/kvartiry/sdam_3_komnatnuju_kvartiru_v_kaliningrade/4-1-0-594

Адрес сайта http://yurpomoch.ucoz.ru/
Закрыто с пометкой: Вопрос решен!
| Автор: | Категория: JavaScript
Закрыт | | Автор: Yuri_Geruk

Ответов: 1

голоса: 0
 
Лучший ответ

Код который выводит надпись просто заверните в див вида:

<div id="no-dissalow">здесь код который выводт пункт для отметки или полностью скрипт который в примере выше</div>

далее в глобальный блок нижняя часть сайта пропишите условие вида:

<?if($URI_ID$='bdEnt594')?><style>#no-dissalow {display:none;}</style><?endif?>

| Автор:
Выбор ответа лучшим | | Автор: Сергей Сергей

Установил в нижнюю часть сайта вот так:

 

 <div id="no-dissalow">
    
    <script>function agree(){ $('[name=mform] [type=submit], #gbsbm,#mchatBtn,.uf-btn,#addcBut').parent().parent().before("<tr><td colspan=\"2\"><a href=javascript:// onclick='_open(\"/index/policy=1\",700,500); return false;\'>Согласен с политикой конфиденциальности сайта</a><input class=\"police\" type=\"checkbox\"></td></tr>"); $('[name=mform] [type=submit], #gbsbm,#mchatBtn,.uf-btn,#addcBut').prop("disabled", true); $('input.police').live('click', function(){ if($(this).prop('checked') == 1) { $('[name=mform] [type=submit], #gbsbm,#mchatBtn,.uf-btn,#addcBut').prop("disabled", false); }else{ $('[name=mform] [type=submit], #gbsbm,#mchatBtn,.uf-btn,#addcBut').prop("disabled", true); }});}; function _open( url, width, height ) { window.open( url, 'test', 'scrollbars=1,resizable=1,width=' + width + ',height=' + height + ',left=' + ((window.innerWidth - width)/2) + ',top=' + ((window.innerHeight - height)/2) );} agree();</script>
 
 </div>
    
    <?if($URI_ID$='bdEnt594')?><style>#no-dissalow {display:none;}</style><?endif?>
 

Только надпись «Согласен с политикой конфиденциальности» для  формы   $MFORM_2$ не скрылась.

Сергей Сергей,
Вы невнимательно прочитали мой ответ. Я писал, код который выводит надпись для отметки завернуть в отдельный код, а условие лишь условие установить в глобальный блок нижняя часть сайта, а не и то и другое как вы сделали.

Установил, как Вы сказали. Надпись «Согласен с политикой конфиденциальности» скрылась для всех установленных форм на сайте, а нужно только для $MFORM_2$

Сергей Сергей,
Где вообще у вас отображалась эта надпись так как я ее вообще не вижу нигде у вас же там лишь номер объявления вводишь и ни с чем не соглашаешься вообще.

Надпись сейчас крылась после установки Вашего кода для формы $MFORM_2$. Так и должно быть. Просто у меня еще установлена форма $MFORM_1$ в модуле страниц. Там должна быть надпись «Согласен с политикой конфиденциальности».

 

Здесь должна быть надпись «Согласен с политикой конфиденциальности»   в форме $MFORM_1$ http://yurpomoch.ucoz.ru/index/0-2

Здесь нужно запретить надпись «Согласен с политикой конфиденциальности» в форме $MFORM_2$ http://yurpomoch.ucoz.ru/board/nedvizhimost/kvartiry/sdam_3_komnatnuju_kvartiru_v_kaliningrade/4-1-0-594

Сергей Сергей,
Удалите временное условие с нижней части и уточните где увидеть саму строку так как я не вижу ее.
Сейчас удалю....

Надпись «Согласен с политикой конфиденциальности» выходит в верхней части объявления на странице http://yurpomoch.ucoz.ru/board/nedvizhimost/kvartiry/sdam_3_komnatnuju_kvartiru_v_kaliningrade/4-1-0-594

Код удалил, чтобы Вы видели.

Сергей Сергей,

Вы добавляете скрипт который выводит пункт соглашения где вам вздумается, а нужно в шаблон  самой формы где-то перед кодом вида:

<tr><td colspan="2" align="center"><br /><input type="submit" value="Отправить сообщение"></td></tr>

вот так как вы добавили, так невозможно к чему-то определенному привязаться и скрыть конкретно для второй формы.

Удалил код скрипта из нижней части сайта, и добавил в шаблон формы $MFORM_1$. В этом случае надпись «Согласен с политикой конфиденциальности» не появляется.

 

<table border="0" width="100%" id="table1" cellspacing="1" cellpadding="2">
<tr><td width="35%">Имя отправителя <font color="red">*</font>:</td><td><input type="text" name="f4" size="30" style="width:95%;" maxlength="70"></td></tr>
<tr><td>E-mail отправителя <font color="red">*</font>:</td><td><input type="text" name="f1" size="30" style="width:95%;" maxlength="70"></td></tr>
<tr><td>Web-site:</td><td><input type="text" name="f5" size="30" style="width:95%;" maxlength="70"></td></tr>
<tr><td>Тема письма:</td><td><input type="text" name="f2" size="30" style="width:95%;" maxlength="70"></td></tr>
<tr><td valign="top">Текст сообщения <font color="red">*</font>:</td><td><textarea rows="7" name="f3" cols="30" style="width:95%;"></textarea></td></tr>
<tr><td>Оценка сайта:</td><td><select size="1" name="f6"><option>Отлично</option> <option>Хорошо</option> <option>Неплохо</option> <option>Плохо</option> <option>Ужасно</option></select></td></tr>
<tr><td>Код безопасности <font color="red">*</font>:</td><td><input type="text" name="f7" size="6" maxlength="5" style="text-align:center;"> $SECURITY_CODE$</td></tr>

 <tr><td>
<div class="policy" style="display: none;"> <input id="policy" type="checkbox" name="policy" value="1"> <label for="policy"><a class="js-privacy-win" href="javascript://">Согласен с условиями обработки персональных данных</a></label> </div>

<script>
$(document).ready(function(){
var buttonPolicy = $('input[type="submit"]');
buttonPolicy.prop('disabled', true);
$('.policy').css('display','block');
$('#policy').on("change", function(){
 if ($(this).prop("checked")) {
buttonPolicy.prop('disabled', false);
 } else {
    buttonPolicy.prop('disabled', true);
 };
});
 
$('.js-privacy-win').on("click", function(){
window.open('/index/policy=1','policy','scrollbars=1,top=1,left=1,width=650,height=450');
});
});
</script>

</td></tr>
<tr><td colspan="2" align="center"><br /><input type="submit" value="Отправить сообщение"></td></tr>
</table>

Сергей Сергей,
Поправил ваш код, синее и красное должно там быть вместо вашего скрипта.

Заменил кода скрипта на Ваш код (как показано), но надпись «Согласен с политикой конфиденциальности» все равно не появляется возле кнопки «отправки сообщения».

Сергей Сергей,
Дополнил выше ваше сообщение. Выделенное зеленым добавьте.

Все, теперь для первой формы есть надпись, а для второй формы нет. Вот, так хотел сделать. Спасибо большое за терпение!!!

...