روز برنامه‌نویس مبارک 🤩🎉 از هدایای روز برنامه‌نویس جا نمونی ⌛
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ محمد وهابپور
form.serialize()
جامعه پی اچ پی ایجاد شده در ۲۷ اسفند ۱۴۰۰
  $(document).ready(function(){
        var form = $('#form');
        var resultTag = $('#ajax-result');
        form.submit(function(event){
            resultTag.html('');
            event.preventDefault();
            $.ajax({
                url : form.attr('action'),
                method: form.attr('method'),
                data: form.serialize(),
                success: function(response){
                    resultTag.html(response);
                }
            });
});

سلام

form.serialize()

با استفاده از این دستور فقط مقادیر input هارو برمیگردونه بخوایم اسم دکمه هارو هم برگردونیم برای استفاده در صفحه php باید چه کاری انجام بدیم

سلام دوست عزیز

منظورتون از اسم دکمه‌ها چیه؟

محمد گازری ۲۷ اسفند ۱۴۰۰، ۰۷:۴۷

من درحال ارسال مقادیر یک فرم به یک صفحه دیگه هستم با jquary و متود post به صفحه دیگه هستم فرضا برای ذخیره اطلاعات


میخوام در صفحه دوم مشخص کنم وقتی مقدار خالی نبود و بر روی دکمه x در فرم کلیک شده بود کاری انجام بشه

الان درحال ارسال محتویات input‌ها هستم

ولی چطور نام یک دکمه رو ارسال کنم که با استفاده از متود پوست در صفحه دیگه ازش استفاده کنم




محمد وهابپور ۲۷ اسفند ۱۴۰۰، ۰۷:۵۴

شما دوتاه راه دارید برای این مورد

1.باید دوتا دکمه با تایپ سابمیت ایجاد کنید و به هرکدوم یه آی دی اختصاص بدید و به جای

form.submit

از

$("#button1").click

استفاده کنید

2.در صورتی که نمیخواید از راه حل بالا 2 ایجکس ایجاد کنید میتونید از قابلیت چند سلکتوری جی کوئری استفاده کنید به شکل زیر

$("#button1,#button2").click

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

$(this).attr('attribute ke mikhaid')

به صورت کلی توضیح دادم، اگر در پیاده سازیش به مشکل خوردید مطرح کنید

محمد گازری ۲۷ اسفند ۱۴۰۰، ۰۸:۲۳

البته اون چیزی که برداشت من از سؤال بود اگر درست باشه، میتونه از یک تکست فیلد hidden استفاده کنه با نام action و value باتن.

راه دیگه هم میتونید به این شکل انجام بدید:

$("#btn").click(function() {
    var formData = $(this).closest('form').serializeArray();
    formData.push({ name: this.name, value: this.value });
});

بعد push داخل formData دکمه باتن هم وجود داره و formData رو میتونی post کنی.

بهترین پاسخ
محسن موحد ۲۷ اسفند ۱۴۰۰، ۰۸:۳۷