راکت
حل شده

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

5 پاسخ

سلام یک لیست از کالاها رو به صورت 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();
ثبت پرسش جدید

پاسخ‌ها

5
حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

بهترین پاسخ
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

حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

سلام روش های متفاوتی برای این کار هست می تونید در هر سطر جدول در 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

محسن مهری
محسن مهری
@mohsen.mehri6101

تخصص: برنامه نویس back-end با زبان php framework laravel

@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

شاید پاسخ شما همین‌جا باشد

محسن مهری
محسن مهری
@mohsen.mehri6101

تخصص: برنامه نویس back-end با زبان php framework laravel

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

حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

سلام، ممنون.
@mohsen.mehri6101

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

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