0

ajaxFormでspry検証を使用しようとしています。問題は、beforeSubmitがフォームを見つけているときに強制的にspry検証を行っているとは思わないことです。エラーが発生していません。フォーム「form1」が見つからないため、beforeSubmitが起動していないようです。

$("#form1").ajaxForm({
        url: "processPhoneEdit.php",
        beforeSubmit: function(){
            if (Spry) { // checks if Spry is used in your page
                var r = Spry.Widget.Form.validate(form1); // validates the form
                    if (r) 
                        alert("testing");
                        return (r);

            } 
        },
        success: alert("success"),
        complete: alert("complete")
});
4

2 に答える 2

1

私はあまりプログラマーではありませんが、これが私の解決策でした:

    // Submit button is clicked
    $("#submitShipment").click(function () 
    {

        // Spry validation:  if true
        if (Spry.Widget.Form.validate(form1) == true)
            {

                // opens the Please Wait dialog
                $('#dialogPleaseWait').dialog('open');
                // disables the submit button
                $('#submitShipment').button('disable');
                // Posts form to callback page, serializes the form into a URL string and waits for a result (success / fail)
                $.get("callbacks/insertShipment.asp", $("#form1").serialize(), insertCallback);

            } 
            else  // Spry validation:  if false
            {
                // opens jQuery UI dialog to inform user Validation failed
                $('#dialogDespatchValFail').dialog('open');
            }

    });
于 2011-11-13T08:46:06.793 に答える
0

これを試して..

$("#form1").ajaxForm({
            target:'#some_div',
            url:'processPhoneEdit.php',
            clearForm: 'true',
            beforeSubmit: function(formData, jqForm, options){
            if (Spry) { // checks if Spry is used in your page
                r = Spry.Widget.Form.validate(jqForm[0]); // validates the form
                if (!r) {
                    return r;
                }
            }
            if(r)   {
                $('#submit').attr({
                    'disabled':'disabled',
                    'value':'Processing. Please Wait...'
                });     
            }
            },
            success: function() {
                $('#form1').hide();
            } 
        });
于 2012-07-10T17:09:33.190 に答える