Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Включаем проверку по чекбоксу в общую проверку заполнения формы (https://javascript.ru/forum/dom-window/47374-vklyuchaem-proverku-po-chekboksu-v-obshhuyu-proverku-zapolneniya-formy.html)

golopogos 21.05.2014 10:37

Включаем проверку по чекбоксу в общую проверку заполнения формы
 
Необходимо как то реализовать проверку состояния чекбокса - Я ознакомлен с офертой и включить оную в общую проверку заполнения формы.

Нужна ваша помощь, уважаемые! Сам никак "недопетрю")..

Код общей проверки заполнения формы:
/* Инициализация масок полей формы */
$(document).ready(function(){var h=/^[\u0410-\u042f\u0430-\u044f-\s]{2,20}$/i,i=/^[\u0430-\u044F\u0410-\u042F\u0451\u0401-\s]{2,30}$/i,j=/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i,k=/^\([\d\)\s-]{1,}$/i,l=/^[\u0430-\u044F\u0410-\u042F\u0451\u04010-9-\,\s]{1,}$/i,

/* Проверка 1-го поля */
a=$("#k_input_field_30_3750");a.blur(function(){""!=a.val()?0==a.val().search(h)?($("#valid1")
.html('<div class="img-validyes"></div>'),$("#k_savebutton30").attr("disabled",!1),a.removeClass("valid-error").addClass("valid-ok")):($("#valid1")
.html('<div class="img-validno"></div>'),$("#k_savebutton30").attr("disabled",!0),a.addClass("valid-error")):($("#valid1")
.html('<div class="img-validno"></div>'),a.addClass("valid-error"),$("#k_savebutton30").attr("disabled",!0))});

/* Проверка 2-го поля */
var b=$("#k_input_field_30_3460");b.blur(function(){""!=b.val()?0==b.val().search(i)?($("#valid2")
.html('<div class="img-validyes"></div>'),$("#k_savebutton30").attr("disabled",!1),b.removeClass("valid-error").addClass("valid-ok")):($("#valid2")
.html('<div class="img-validno"></div>'),$("#k_savebutton30").attr("disabled",!0),b.addClass("valid-error")):($("#valid2")
.html('<div class="img-validno"></div>'),b.addClass("valid-error"),$("#k_savebutton30").attr("disabled",!0))});

/* Проверка 3-го поля */
var c=$("#k_input_field_30_3480");c.blur(function(){""!=c.val()?0==c.val().search(j)?($("#valid3")
.html('<div class="img-validyes"></div>'),$("#k_savebutton30").attr("disabled",!1),c.removeClass("valid-error").addClass("valid-ok")):($("#valid3")
.html('<div class="img-validno"></div>'),$("#k_savebutton30").attr("disabled",!0),c.addClass("valid-error")):($("#valid3")
.html('<div class="img-validno"></div>'),c.addClass("valid-error"),$("#k_savebutton30").attr("disabled",!0))});

/* Проверка 4-го поля */
var d=$("#k_input_field_30_3470");d.blur(function(){""!=d.val()?0==d.val().search(k)?($("#valid4")
.html('<div class="img-validyes"></div>'),$("#k_savebutton30").attr("disabled",!1),d.removeClass("valid-error").addClass("valid-ok")):($("#valid4")
.html('<div class="img-validno"></div>'),$("#k_savebutton30").attr("disabled",!0),d.addClass("valid-error")):($("#valid4")
.html('<div class="img-validno"></div>'),d.addClass("valid-error"),$("#k_savebutton30").attr("disabled",!0))});

/* Проверка 5-го поля */
var e=$("#k_input_field_30_3550");e.blur(function(){""!=e.val()?0==e.val().search(l)?($("#valid5")
.html('<div class="img-validyes"></div>'),$("#k_savebutton30").attr("disabled",!1),e.removeClass("valid-error").addClass("valid-ok")):($("#valid5")
.html('<div class="img-validno"></div>'),$("#k_savebutton30").attr("disabled",!0),e.addClass("valid-error")):($("#valid5")
.html('<div class="img-validno"></div>'),e.addClass("valid-error"),$("#k_savebutton30").attr("disabled",!0))})});

/* Вот тут предположительно должен быть код проверки сост. чекбокса 
var -----
---------
---------
*/


Html-код чекбокса:
<span id="oferta" class="checkbox">
         <input name="iagree" type="checkbox" />
        <span class="checks"></span>
	<label class="label">Я ознакомлен с офертой.</label>
</span>


CSS-код чекбокса:
span.checkbox.checkeds .checks {
background: url(//imgstat.yagool.ru/image/checkmark.png) no-repeat -4px -6px;
}
span.checkbox .checks {
width: 12px;
height: 12px;
margin-left: 180px;
border: 1px solid #999;
background: #fff;
float: left;
}

span.checkbox {
cursor: pointer;
display: inline-block;
height: 18px;
margin-top: 20px;
margin-left: 20px;
margin-bottom: 15px;
}


Код инициализации чекбокса:
$(document).ready(function(){$.each($(".checkbox"),function(){$("input",this).is(":checked")&&$(this).addClass("checkeds")});$(".checkbox").click(function(){$(this).toggleClass("checkeds");var a=$("input",this);a.is(":checked")?a.attr("checkeds",!1):a.attr("checkeds",!0)})});


Если будет непонятно кусками, собрал для наглядности всю конструкцию на Фидле: http://jsfiddle.net/All_ex74/TYDbN/14/

golopogos 21.05.2014 19:16

Ребята, подскажите пож., очень нужно!

Для хорошего специалиста - 1минута и строчка кода, а для меня неуча неделя))

SeGun 21.05.2014 21:25

для полного счастья не хватает кода отправки формы
 
На процедуру проверки формы перед отправкой

цепляем такой код
(в моём случае форма называется order сам cheсkbox condconf
...
if (document.order.condconf.checked)
{
return true
}
else
{
alert("\nПожалуйста поставьте отметку: \n С условиями ознакомлен и согласен");
document.order.condconf.focus();
return false;
}
...

golopogos 22.05.2014 13:59

Я же писал, что нужно включить проверку чекбокса в общую... Таких примеров как ваш в Гугле предостаточно.

Сделал вот так, ни...я не выходит:-E

$(document).ready(function(){
$.each($(".checkbox"),function(){
  $("input",this).is(":checked")&&$(this).addClass("checkeds")});
  $(".checkbox").click(function()
    {$(this).toggleClass("checkeds");
	var b=$("button");
	var a=$("input",this);
	a.is(":checked")?(a.attr("checkeds",!1),$("#k_savebutton30")b.attr("disabled",!1)):(a.attr("checkeds",!0),$("#k_savebutton30")b.attr("disabled",!0))})});


Ну кто поможет то?


Часовой пояс GMT +3, время: 18:12.