hi,

In fact all work fine under, IE6, IE7, IE8, FF3.5, juste this problem
under Chrome and Safari (same engine as Chrome)


in which case form will not be sent ?
- if all validate this sent
- if one mismatch handler stop before hidden input created.

here a sample to reproduced problem (don't forget to adjust path for
JQ, validate JS en CSS ;) ) :

######################################################################
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml";>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<link rel="stylesheet" type="text/css" href="../CSS/
jquery.validate.css" />
<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript" src="../js/jquery.validate.js"></
script>
<script type="text/javascript">
$(document).ready(function()
{

        $("#formulaire").validate(
        {

                rules: {
                        f_description: "required",
                        f_montantTTC: "required"
                },
                messages: {
                        f_description: "il faut une description",
                        f_montantTTC: "il faut un montant"
                },
                success: function(label) {
                                label.text(" ").addClass("success");// str vide 
pour faire
apparaitre l'icone OK
                },
                submitHandler: function(form) {
                                $('.B').attr('disabled', 'disabled');
                                form.submit();
                }
        });

});
</script>
</head>

<body>
    <form name="formulaire" id="formulaire" method="get" action="">
        <p><label>Montant TTC</label><input type="text"
name="f_montantTTC" id="f_montantTTC" value=""/></p>
        <p><label>Description</label><textarea name="f_description"
id="f_description" cols="45" rows="20"></textarea></p>
        <button type="submit" name="buttondepotReponse"
id="buttondepotReponse" class="B" value="Valider"><span>Valider</
span></button>
    </form>
</body>
</html>

######################################################################


thanks for your interrested.
L.Ours.POlaiR | Creabilis



On 18 août, 15:16, Jörn Zaefferer <joern.zaeffe...@googlemail.com>
wrote:
> There is no gurantee that the form will actually be submitted after
> submitHandler is called. So the cleanup is necessary for future
> submits of the same form.
>
> Could you show your full code? I suspect the actual issue is elsewhere.
>
> Jörn
>
> On Tue, Aug 18, 2009 at 2:14 PM, L.Ours.POlaiR<lourspol...@banquiz.net> wrote:
>
> > system :
>
> > JQuery : 1.3.1
> > Validate plugins 1.5.5
>
> > #########################################
>
> > problem : form validation with <button> under chrome(test under chrome
> > 3.x and chrome 4.0.201.1)
> > the button value is not sent to POST or GET
>
> > solution :
> > change line 70
> > ######################################################################
> > if (validator.submitButton){
> >        // and clean up afterwards; thanks to no-block-scope, hidden can be
> > referenced
> >        hidden.remove();
> > }
> > ######################################################################
>
> > by this
>
> > ######################################################################
> > if (validator.submitButton) {
> >        // and clean up afterwards; thanks to no-block-scope, hidden can be
> > referenced
> >        // hidden.remove();
> > }
> > ######################################################################
>
> > I think the problem become from Chrome JS engine, which "jump" the
> > validator.settings.submitHandler.call action.
> > Why did you remove hidden input ? just for cleaning a form which
> > already sent ?
>
> > thanks for supporting.
> > Cordialy,
> > L.Ours.POlaiR | Creabilis

Reply via email to