Добавление радиокнопки или флажка «Согласен» Казалось бы невозможным - PullRequest
0 голосов
/ 04 мая 2011

Я нахожусь на последней точке назначения изменения системы, и мне нужно добавить флажок в стиле "iagree".Система уже не будет отправлять форму, если поля не заполнены, однако мне нужно, чтобы она не отправлялась, то есть всплывающее предупреждение.когда я согласен, флажок или переключатель не выбран.Я перепробовал миллион вещей, так что если кто-нибудь сможет это понять, ты будешь моим богом.

Ниже приведен мой javascript, который проверяет пустые поля и т. Д. И отображает предупреждение.Мне нужно добавить переключатель с именем «принять» к нему.

 <div class="internal_booking_form">
    <script type="text/JavaScript">
    <!--

Функция непосредственно под кодом вычисляет значение ряда флажков и переключателей, которые у меня уже есть.Я не уверен, имеет ли это значение, что у меня уже есть некоторые, но я думал, что я включу примечание.

 $(document).ready(function() {
          function recalculate() {
        var sum = 0;
        var base = 0;

        $("input[type=checkbox]:checked").each(function() {
             sum += parseInt($(this).attr("rel"));
        });

        sum +=  parseInt($(":radio[name='duration']:checked").attr("rel"), 10);  // or some attribute that has the price
        $("#output").html(sum);
    }

        $("input[type=checkbox], :radio[name='duration']").change(function() {
        recalculate();
    });

    });

Это остальная часть кода, где я предполагаю, что было бы лучше разместить функцию checkcheckbox

            function newPopup(url) {
                popupWindow = window.open(
            url,'popUpWindow','height=700,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes')
            }

    function checkForm() {
        var err=0;
        var msg2="";


    <?php
    $reqFields=array(
        "name",
        "phone",
        "email",
        "comments",
        "suburb",
        "postcode",
        "captcha"

    );

    foreach ($reqFields as $v) { ?>

        if (document.getElementById('<?php echo $v?>').value==0 || document.getElementById('<?php echo $v?>').value=="00") {
            if (err==0) {
                document.getElementById('<?php echo $v?>').focus();
            }
            document.getElementById('<?php echo $v?>').style.backgroundColor='#ffa5a5';
            err=1;
        }<?php




    }
    ?>

        var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
        var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid   
        if (document.getElementById('email').value==0 || !reg2.test(document.getElementById('email').value)) {
        if (err==0) {
            document.getElementById('email').focus();
        }
        document.getElementById('email').style.backgroundColor='#ffa5a5';
        err=1;
        }




    if (err==0) {
                 return true;
        } else {
            alert("Please complete all highlited fields to continue.");
            return false;
        }

    }

    function checkFieldBack(fieldObj) {
        if (fieldObj.value!=0) {
            fieldObj.style.backgroundColor='#EAEAEA';
        }
    }

    function checkNumeric(value){
            var anum=/(^\d+$)|(^\d+\.\d+$)/
            if (anum.test(value))
                return true;
            return false;
        }


    function noAlpha(obj){
        reg = /[^0-9.,]/g;
        obj.value =  obj.value.replace(reg,"");
     }

    //-->
    </script> 
    <form name="ff1" enctype="multipart/form-data" method="post" action="booking.event.processing.php" onsubmit="return checkForm();"> 

1 Ответ

0 голосов
/ 04 мая 2011

Полагаю, у вашего флажка "iagree" есть идентификатор iagree. Если вы вставите

if( !$('input#iagree').is(":checked") ) {
   err = 1;
}

if (err==0) {
...

это должно работать. Вы можете добавить дополнительное окно сообщения, если хотите получить явную информацию для согласия на что-либо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...