در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

mehranmehrnia

عدم استفاد از ()location.reload در jquery

با سلام خدمت دوستان عزیزم ،

اگر بخواهیم jquery اطلاعات رو بدون استفاه از دستور ()location.reload نشون بده باید چی کار کنیم ؟

یعنی نخوام صفحه refresh بشه.

#جی_کوئری
لذت یادگیری با توسینسو
به عنوان شخصی که مدت هاست از سایت توسینسو استفاده می کنم باید بگم که واقعاً یکی از بهترین مرجع ها برای ارتقاء دانش شخصی هست. دوره های سایت، راهکارها و مطالب، همگی عالی هستند.
حسین احمدی

سلام دوست عزیز، دقیقاً منظورتون رو متوجه نشدم، سناریویی که در حال استفاده هستید رو اینجا بذارید تا بشه بهتر کمکتون کرد.

کانال تلگرام: https://t.me/TOSINSOAhmadi
mehranmehrnia
      //start Edit row in tabel
        $("a.edit").click(function (event) {

            event.preventDefault();
            var Id = $(this).closest('tr').data("id");
            var TittleDraft = $(this).closest('tr').data("title");
            var JoinTextMessage = $(this).closest('tr').data("body");

            console.log(TittleDraft);
            //$("#TittleDraft").val(Title);
            $("#JoinTextMessage").css("text-align", "right");
            //$("#DraftText").val(Body);

            $("#create-dialog [name=Id]").val(Id);
            $("#create-dialog [name=TittleDraft]").val(TittleDraft);
            $("#create-dialog [name=JoinTextMessage]").val(JoinTextMessage);
            $("#create-dialog").modal('show');
        });
        $("#create-dialog button[type=submit]").click(function (event) {
            console.log("submit");
            //start loading button
            var $this = $(this);
            $this.button('loading');
            setTimeout(function () {
                $this.button('reset');
            }, 2500);
            //End loading button
            event.preventDefault();
            var data = {};
            data.Id = $(this).closest('form').find("[name=Id]").val();;
            data.TittleDraft = $(this).closest('form').find("[name=TittleDraft]").val();
            data.JoinTextMessage = $(this).closest('form').find("[name=JoinTextMessage]").val();
            
            
            
            Edit(data);
        });

        function Edit(data) {
            
            //call controler for Edit row in database
            $.post("/Client/LetterTemplate/Create",data,
            function (data) {
                console.log(data);
                if (data.Result == 200) {

                    $("tr#" + data.Id).find("td.TittleDraft").html(data.TittleDraft);
                    $("tr#" + data.Id).find("td.JoinTextMessage").html(data.JoinTextMessage);
                    
                    console.log("Edit");
                    console.log("value id", data.id);
                    console.log("value DraftText", data.TittleDraft);
                    console.log("value JoinTextMessage", data.JoinTextMessage);
                    
                    // for display modify data-use reload page
                    //location.reload();
                    $("#create-dialog").modal('hide');


                    $("#message").html('پیش نویس مورد نظر با موفقیت ویرایش شد.');//data.Message
                    console.log("data . message = ", data.Message)
                    $("#messageTotal").show();
                }
                
            });
        }
        //End Edit row in tabel5

دارم جدول رو ویرایش میکنم ولی تا زمانی که ()location.reload نکنم چیزی نشون نمیده از تغییرات انجام شده بیشتر که trace کردم متوجه شدم که شی data در تابع (Edit(data شناخته شده است ولی موقعی که اونو میده به تابع زیر که داخل تابع edit هست شناخته شده نیست:

فکر میکنم به خاطر این موضوع نمی تونه تا قبل از refresh شدن چیزی نشون بده

function (data) {
                console.log(data);
                if (data.Result == 200) {

                    $("tr#" + data.Id).find("td.TittleDraft").html(data.TittleDraft);
                    $("tr#" + data.Id).find("td.JoinTextMessage").html(data.JoinTextMessage);
                    
                    console.log("Edit");
                    console.log("value id", data.id);
                    console.log("value DraftText", data.TittleDraft);
                    console.log("value JoinTextMessage", data.JoinTextMessage);
                    
                    // for display modify data-use reload page
                    //location.reload();
                    $("#create-dialog").modal('hide');


                    $("#message").html('پیش نویس مورد نظر با موفقیت ویرایش شد.');//data.Message
                    console.log("data . message = ", data.Message)
                    $("#messageTotal").show();
                }
                
            });
prober

شما متغیر data رو هم به عنوان داده ورودی به مسیر مربوط به متد POST ارسال کردید و همان نام رو برای خروجی از اون صفحه در نظر گرفتید. فکر می کنم مشکل کد شما همین باشه. پارامتر ورودی تابع Edit رو نامش رو به data2 تغییر بدین و همینطور در دستور ajax زیر data اولی رو data2 بگذارید.

$.post("/Client/LetterTemplate/Create",data2,
      function (data) {
        ..
      });
کسانی که عاشـق کیفیت اند بیشتر از کسانی که متخصص کیفیت اند باعث بهبود کیفیت می شوند. - پروفسور کندو- کتاب Human Motivation
پاسخ شما
برای ارسال پاسخ خود وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....