代码之家  ›  专栏  ›  技术社区  ›  Harsha M V

jquery Ajax表单插件回调错误

  •  0
  • Harsha M V  · 技术社区  · 14 年前

    我有以下代码,表单提交时没有调用回调函数

    $(document).ready(function () {
        var options = {
            target: '#output2',
            // target element(s) to be updated with server response 
            beforeSubmit: showRequest,
            // pre-submit callback 
            success: showResponse, // post-submit callback 
            // other available options: 
            //url:       url         // override for form's 'action' attribute 
            //type:      type        // 'get' or 'post', override for form's 'method' attribute 
            //dataType:  null        // 'xml', 'script', or 'json' (expected server response type) 
            clearForm: true        // clear all form fields after successful submit 
            //resetForm: true        // reset the form after successful submit 
            // $.ajax options can be used here too, for example: 
            //timeout:   3000 
        };
    
        $('#updateStatus').submit(function () {
            // make your ajax call
            $(this).ajaxSubmit(options);
            return false; // prevent a new request
        });
    
        function showRequest(formData, jqForm, options) {
            $('#StatusMessageMessage').attr('disabled', true);
        }
    
        function showResponse(responseText, statusText, xhr, $form) {
            $('#StatusMessageMessage').attr('disabled', false);
            alert('shdsd');
        }
    });
    
    1 回复  |  直到 14 年前
        1
  •  1
  •   John Norcott    14 年前

    我认为你需要更具体一点。你说的是showRequest回调吗?所做的只是禁用id为StatusMessageMessage的对象。里面已经有文字了吗?您是否有任何视觉提示可以看到它已启用或禁用?

    至于showResponse函数,它在成功时被调用。您确定服务器端代码返回成功吗?不会显示窗体的操作指向何处,也不会显示有关预期结果的任何内容。也许可以尝试一个返回字符串的测试,除了返回静态字符串(典型的hello world应用程序)什么也不做。

    让我们知道你是否/何时尝试过,以及你从中得到了什么样的结果。