0

I have a simple form with 6 textfields. I use Ajax to save information. When I click edit button, jQuery validator identified the error but allow to submit. Actually it work just for last input!

I used class="number fillone" to check them to enter just number and also enter at least one of 6...

$('#edit_midterm').click(function() {

    $("#edit_midterm_form").validate({
        rules:{
            queiz: {number:true, max:6,
            seminar:{number:true, max:6,
            tamrin:{number:true, max:6,
            midterm:{number:true, max:6},
            tahghigh:{number:true, max:6},
            project:{number:true, max:6}
        },
        require_from_group: [1,".fillone"],
        submitHandler: function() 
        {
            $("#loading_edit").ajaxStart(function(){$(this).show();});
            $("#loading_edit").ajaxStop(function(){$(this).hide();});

            $.ajax({
                type:"POST",
                url:"course/term/ajax_mlist.php",  
                data:($("#edit_midterm_form").serialize()),
                success:function(data){
                if((data.result)=='true')
                    $("#result_edit").html(data.message);
            }, 
            dataType:"json"});
            return false;
        }


    });
});

and this is my form:

<form name="edit_mid" action="" id="edit_midterm_form" method="post">
        <input type="hidden" name="type" value="edit">
        <input type="hidden" name="operation" value="yes">
        <input type="hidden" name="ic" value="'.$id.'">
        <table class="list" width="100%" border="0" align="center" cellspacing="1" cellpadding="5" dir="rtl">
        <tr>
            <th colspan="2">Edit Form</th>
        </tr>
        <tr>
            <td width="100">Quize</td>
            <td><span class="red_error"><input type="text" name="queiz" id="queiz" max="6" class="number fillone" value="'.$object->queiz_1.'"></span></td>
        </tr>
        <tr>
            <td>Lecture</td>
            <td><span class="red_error"><input type="text" name="seminar" id="seminar" max="6" class="number fillone"  value="'.$object->seminar_3.'"></span></td>
        </tr>
        <tr>
            <td>home Work</td>
            <td><span class="red_error"><input type="text" name="tamrin" id="tamrin" max="6" class="number fillone"  value="'.$object->tamrin_5.'"></span></td>
        </tr>
        <tr>
            <td>Midterm</td>
            <td><span class="red_error"><input type="text" name="midterm" id="midterm" max="6" class="number fillone"  value="'.$object->midterm_2.'"></span></td>
        </tr>
        <tr>
            <td>Search</td>
            <td><span class="red_error"><input type="text" name="tahghigh" id="tahghigh" max="6" class="number fillone"  value="'.$object->tahghigh_4.'"></span></td>
        </tr>
        <tr>
            <td>project</td>
            <td><span class="red_error"><input type="text" name="project" id="project" max="6" class="number fillone"  value="'.$object->project_6.'"></span></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" id="edit_midterm" value="Edit" class="buttom_edit">
            <img src="../template/icon/ajax_loader_1.gif" id="loading_edit">
            <span id="result_edit"></span>
            </td>
        </tr>
      </table></form>
1
  • Is this your code exactly as it is in your program? Commented Jan 11, 2011 at 17:30

2 Answers 2

1

Not sure what error you are getting, but I can see at a glance there are some closing curley braces missing:

rules:{
                        queiz: {number:true, max:6},
                        seminar:{number:true, max:6},
                        tamrin:{number:true, max:6},
                        midterm:{number:true, max:6},
                        tahghigh:{number:true, max:6},
                        project:{number:true, max:6}
                        },
Sign up to request clarification or add additional context in comments.

1 Comment

I put together a jsfiddle and fixing the curly braces made it work. You can see it here. My only modification to the code is including the validation plugin and fixing the braces. You can see it working here: jsfiddle.net/qpk5X
0

actually here is rong , in my code it is correct. the problem is that when i use this code for controll at least enter one of 6 the other don't work .

in my form it works just for last one!

this is code:

jQuery.validator.addMethod("require_from_group", function(value, element, options) {
    numberRequired = options[0];
    selector = options[1];
    var validOrNot = $(selector, element.form).filter(function() {
         return $(this).val();
      }).length >= numberRequired;

    if(!$(element).data('being_validated')) {
    var fields = $(selector, element.form);
    fields.data('being_validated', true).valid();
    fields.data('being_validated', false);
    }
    return validOrNot;

}, jQuery.format("please enter {0} Of this"));

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.