添加我同意的单选按钮或复选框。看似不可能

时间:2011-05-04 07:40:34

标签: javascript forms

我处于修改系统任务的最后点,我需要添加一个“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 :(得分:0)

我认为你的“iagree”复选框有id iagree。如果你插入

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

if (err==0) {
...

这应该有效。如果您想要明确的信息以同意某些内容,则可以添加其他消息框。