محسن مهری
4 سال پیش توسط محسن مهری مطرح شد
5 پاسخ

ساخت فرم حذف یک کالا با jquery

سلام یک لیست از کالاها رو به صورت ajax توی صفحه ام نمایش میدم و به هر td جدول id اون کالا رو نسبت میدم.
حالا میخام وقتی کاربر روی دکمه حذف کلیک کرد به طور کامل یک فرمی ایجاد بشه که با jquery/javascript به مقادیر action,method همونجا مقدار دهی کنیم و فرم رو ارسال کنیم تا به قولی روت حذف اجرا بشه

Route::delete('/destroy','ProductController@destroy')->name('supplier.product.destroy');
//i,m find under lines
$form=$("<form></form>");
            $form.attr('method', 'POST');
            $form.attr('action', 'page1');
            $form.submit();

ثبت پرسش جدید
حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 4 سال پیش مطرح شد
1
function del_row(id,url,token)
{

    if(!confirm('آیا از حذف این رکورد اطمینان دارید؟'))
        return false;

    var form = document.createElement("form");
    form.setAttribute('method','POST');
    form.setAttribute('action',url + '/' + id);
    var hiddenField1 = document.createElement('input');
    hiddenField1.setAttribute('name','_method');
    hiddenField1.setAttribute('value','DELETE');
    form.appendChild(hiddenField1);
    var hiddenField2 = document.createElement('input');
    hiddenField2.setAttribute('name','_token');
    hiddenField2.setAttribute('value',token);
    form.appendChild(hiddenField2);

    document.body.appendChild(form);
    form.submit();
    document.body.removeChild(form);
}

این کار شما رو را میندازه؟ مقادیر آدی توکن و مسیر حذف رو به متد میدی و کافیه این متد رو هر جا خواستی تو یه رویداد onclick فرا خوانی کنیش.خودم از این قبلا استفاده کردم.
@mohsen.mehri6101


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 4 سال پیش مطرح شد
2

سلام روش های متفاوتی برای این کار هست می تونید در هر سطر جدول در td آخر همون جا یه فرم ساده ایجاد کرده همونجا فرم رو با دکمه سابمیت ارسال فرم رو انجام بدین.
البته یه کم باید روی استایل دکمه سابمیت فرم کار کنید تا با ستون ها و سطرهای جدول اوکی و هم طراز بشه.

        <table>
            <thead>
                <tr>
                    <th>id</th>
                    <th>name</th>
                    <th>action</th>
                </tr>
            </thead>
             <tbody>
                <tr>
                   <td>1</td>
                   <td>title</td>
                   <td>
                       <form method="post" action="{{url('destroy/1')}}">
                             @method('delete')
                           <button type="submit">Delete</button>
                       </form>
                   </td>
                </tr>
            </tbody>
        </table>

@mohsen.mehri6101


محسن مهری
تخصص : برنامه نویس back-end با زبان...
@mohsen.mehri6101 4 سال پیش مطرح شد
0

@hosseinshirinegad98
@ali.bayat
@mohsenbostan
سلام و ممنون از توجهتون - اما من نمیخام از این روش ساده استفاده کنم، چون داده ها رو دارم با استفاده از پکیج yajra به صورت ajax میگیرم
به همین دلیل اون ستون تنظیماتم که توش دکمه ها ( حذف - ویرایش - نمایش) هست توی یک blade جداگانه هست
خلاصه کلام تنها اطلاعاتی که من از اون سطر جدول(و درواقع از اون سطح توی دیتابیس) دارم یک id هست ، اما من میخام از همین یک id استفاده کنم و با استفاده از جی کوئری یک فرم delete بسازم و اون رو ارسال کنم

// DeleteButton
        deleteProduct=function(tthis)
        {
            let stri=(tthis.parent()).parent().attr('id');
            let id=stri.slice(0,stri.indexOf("_"));
            console.log(id);
            //under not working
            $form=$("<form></form>");
            $form.attr('method', 'POST');
            $form.attr('action', 'page1');
            $form.submit();
            console.log($form);
        }
        // DeleteButton

حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 4 سال پیش مطرح شد
1
function del_row(id,url,token)
{

    if(!confirm('آیا از حذف این رکورد اطمینان دارید؟'))
        return false;

    var form = document.createElement("form");
    form.setAttribute('method','POST');
    form.setAttribute('action',url + '/' + id);
    var hiddenField1 = document.createElement('input');
    hiddenField1.setAttribute('name','_method');
    hiddenField1.setAttribute('value','DELETE');
    form.appendChild(hiddenField1);
    var hiddenField2 = document.createElement('input');
    hiddenField2.setAttribute('name','_token');
    hiddenField2.setAttribute('value',token);
    form.appendChild(hiddenField2);

    document.body.appendChild(form);
    form.submit();
    document.body.removeChild(form);
}

این کار شما رو را میندازه؟ مقادیر آدی توکن و مسیر حذف رو به متد میدی و کافیه این متد رو هر جا خواستی تو یه رویداد onclick فرا خوانی کنیش.خودم از این قبلا استفاده کردم.
@mohsen.mehri6101


محسن مهری
تخصص : برنامه نویس back-end با زبان...
@mohsen.mehri6101 4 سال پیش مطرح شد
1

@hosseinshirinegad98
سلام ممنون کاملا درسته و کار میکنه


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 4 سال پیش مطرح شد
0

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام