亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

jQuery錯誤無法讀取未定義的屬性“提交”

jQuery錯誤無法讀取未定義的屬性“提交”

斯蒂芬大帝 2022-01-13 16:58:15
我的代碼中的這一步幾乎所有東西都可以正常工作,但是,代碼可以工作,但由于某種原因仍然顯示我似乎無法修復的控制臺問題。索引.ejs<%- include("partials/header") %><div class="container my-5">    <div class="row justify-content-center">            <div class="card bg-dark" style="width: 18rem;">                <div class="card-header text-white">                    To-Do List                    <a href="#collapseToDo" data-toggle="collapse"><i class="fas fa-plus ml-auto"></i></a>                </div>                <ul class="list-group list-group-flush">                    <div class="collapse" id="collapseToDo">                            <form class="" action="/" method="POST">                                <input class="list-group-item bg-light rounded-0" name="todo" type="text" placeholder="Enter To-Do"/>                            </form>                    </div>                    <% todos.forEach(function(todos){ %>                    <li class="list-group-item"><%= todos.title %> <form action="/<%= todos._id %>?_method=DELETE" method="POST"><button><i class="far fa-trash-alt"></i></button></form></li>                    <% }) %>                </ul>            </div>     </div></div><%- include("partials/footer") %>dom.js$("ul").on("click", "button", function(event){    $(this).parent().parent().fadeOut(500, function(){        $(this).remove();    });    event.stopPropagation();});    $("input[type='text']").keypress(function(event){        if(event.which === 13){          var todoText = $(this).val();           $(this).form.submit();          $(".list-group").append("<li class='list-group-item'>" + todoText + "<span><i class='far fa-trash-alt'></i></span></li>");          $(this).val("");        }    });    $(".list-group").on("click", "li", function(){         $(this).toggleClass("completed");    });我似乎無法$(this).form.submit()在沒有任何錯誤的情況下開始工作。我收到以下錯誤:無法讀取未定義的屬性“提交”奇怪的是。表單確實最終成功提交,但是由于錯誤,事件偵聽器中的下一行沒有通過。誰能幫幫我?
查看完整描述

1 回答

?
浮云間

TA貢獻1829條經驗 獲得超4個贊

有了這條線:

$(this).form.submit();

this指發生的input地方keypress。input元素沒有form屬性,因此沒有方法undefined,因此您的錯誤。undefinedsubmitCannot read property 'submit' of undefined

現在,表單最終提交(或至少開始提交)的原因是因為您沒有submit按鈕,在這種情況下form按 ENTER(字符代碼 13)會導致 a submit

將行更改為:

$(this).closest("form").submit();

以便找到最近的form祖先元素,input然后submit調用它。或者,完全刪除該行并讓按 ENTER 鍵啟動提交過程,就像它本身所做的那樣。

僅供參考:該keypress事件已被棄用。改為使用keydown。


查看完整回答
反對 回復 2022-01-13
  • 1 回答
  • 0 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號