簡體   English   中英

未捕獲的 ReferenceError:addToCart 未定義 javascript

[英]Uncaught ReferenceError: addToCart is not defined javascript

我正在使用 javascript onclick 函數創建一個函數,但它返回一個錯誤 Uncaught ReferenceError: addToCart is not defined 我不知道為什么這是我的代碼

我的 JavaScript 代碼

function addToCart(){
  var productname = $('pname').text();
  var productid = $('productid').text();
  var color = $('#color option:selected').text();
  var color = $('#size option:selected').text();
  var quantity = $('#qty').val();
  $.ajax({
    type: "POST",
    dataType: 'json',
    data:{
      color:color,
      size:size,
      quantity:quantity,
      productname:productname,
    },
    url: "cart/data/store"+productid,
    success:function(data)
    console.log(data);
  })

和我的點擊輸入

<input type="submit" class="btn btn-primary" onclick="addToCart()" value="add to cart">

你做了onclick="addToCart()"立即執行你應該onclick="addToCart"的功能。

這可能是因為瀏覽器沒有正確加載您的函數。 我會嘗試在函數定義的上方和外部添加一個 console.log 以確保它正在加載。

更一般地,如果您使用 jQuery,您可能希望在 Javascript 中而不是在 HTML 中附加addToCart onclick 處理程序。 有關更多詳細信息,請參閱此問題: 在文檔准備好后,使用 JS/JQuery 按類選擇將 onclick 事件添加到按鈕

在一切正常的情況下,你可以做的是在 html 中插入 onclick

<input type="submit" class="btn btn-primary" id="cart-btn" value="add to cart">

腳本:

 $(document).ready(function(){
   function addToCart(){
   //function definition
 }
  $("#cart-btn").click(addToCart);
 });

我認為您的addToCart函數未加載或未在全局范圍內定義!

示例 1(在全局范圍內定義的函數)

 function hi() { alert("hi"); }
 <button onclick="hi()">Click Me</button>

示例 2(onClick 函數未在全局范圍內定義)

 (() => { function hi() { alert("hi"); } })()
 <button onclick="hi()">Click Me</button>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM