2012-01-17 12 views
-1

このコードは機能しません。Jqueryコードでエラーが発生しました

おそらく私は間違ったことをしましたか?誰でもこのコードをチェックできますか?それはjqueryを使ったからですか?

$(document).ready(function showCart(next) { 
    var ca = document.getElementById("cartArea"); 
    var params = ""; 
    for (i = 0; i < document.clientCart.elements.length; i++) { 
     param = getElemValue(document.clientCart.elements[i]); 
     if (param != "") params += param + "&"; 
    } 
    if (next) params += "Next=1"; 
    ca.innerHTML = postIt(params); 
    makePie(); 
} 
}); 
+0

あなたはどのようなエラーが発生していますか? – j08691

+0

jsfiddleを投稿できますか?このコード自体では、私たちがあなたを助けるのに十分ではありません:) – MassivePenguin

答えて

2

あなたは余分に}を持っています。

ので

$(document).ready(function showCart(next) { 
    var ca = document.getElementById("cartArea"); 
    var params = ""; 
    for (i = 0; i < document.clientCart.elements.length; i++) { 
     param = getElemValue(document.clientCart.elements[i]); 
     if (param != "") params += param + "&"; 
    } 
    if (next) params += "Next=1"; 
    ca.innerHTML = postIt(params); 
    makePie(); 
}); 

は、少なくともいずれかの構文上の問題を持っていません。

+0

NFEはまったく問題ありません – Esailija

+0

@Esalilija私がそれを取り除くと、私は何の誤りもありません。私がそれを残すとき、私はする – hvgotcodes

+0

エラーは中括弧からであり、NFEからではない。 '$(document).ready(function showCart(next){console.log(next);});'命名関数の式は完全に合法で、 'arguments.callee'を使うよりもずっと良い方法です。 – Esailija

0

それは次のようになります。

$(document).ready(function(next){ 
    var ca = document.getElementById("cartArea"); 
    var params = ""; 
    for (i = 0; i < document.clientCart.elements.length; i++) { 
     param = getElemValue(document.clientCart.elements[i]); 
     if (param != "") params += param + "&"; 
    } 
    if (next) params += "Next=1"; 
    ca.innerHTML = postIt(params); 
    makePie(); 
}); 
0

あなたは1つのあまりにも多くのクロージング括弧を持っている:

$(document).ready(function showCart(next) { 
    var ca = document.getElementById("cartArea"); 
    var params = ""; 
    for (i = 0; i < document.clientCart.elements.length; i++) { 
     param = getElemValue(document.clientCart.elements[i]); 
     if (param != "") params += param + "&"; 
    } 
    if (next) params += "Next=1"; 
    ca.innerHTML = postIt(params); 
    makePie(); 
} // <-------------- that shouldn't be there 
}); 

また、あなたの関数でdocsnextに応じて常にjQueryとなりますので、なぜそれを削除しませんそして、単にjQueryをjQuery(またはnoconflictモードでない場合は$)と参照してください。

はまた、あなたが

$(document).ready(function showCart(next) { 

を簡素化することができますのでご注意:

$(function showCart(next) { 

や不要なnextパラメータを捨て、関数式名

$(function() { 
+0

また、 'next'は常に' jQuery'なので、意味がありません – Esailija

+0

@Esailija - ええ、私はそれを付け加えました –

+0

コードはとにかく助けになりません。 OPがそうすると思うことをしないでください。 'showCart'はバグのために古いIEでのみ呼び出すことができます。私は彼がコードのいくつかの点でいくつかの '次の'パラメータでそれを呼びたいと思うと思う。 :P – Esailija

関連する問題