2016-10-18 4 views
0

をオブジェクトを渡すことができませんが、私はイメージを持っているし、そのクリックされたとき、私はonclickのメソッドにオブジェクトを渡すためにしようとしていますが、私はエラーを取得:JavaScriptを - のonclickメソッドに

missing) after argument list 

デバッガコンソールが表示されていますHTML Doctype宣言と同じ行の1行目のエラーです。

しかし、文字列を渡すと、すべて正常に動作し、メソッドが実行されます。

誰かが私がここで紛失していることを教えてもらえますか?

var item = {test:"blah"};// throws error 
var emptyString= "";//works fine         
str = str + '&nbsp;&nbsp;<img alt="" data-qtip="Submit Report" height="14px" width="14px" src="'+img+'" style="cursor:pointer" onclick="submitReport('+item+')"/>'; 

私がemptyStringを渡すと、すべて正常に動作します。

ありがとうございました!

+0

あなたは要素を作成し、JavaScript_ _inプロパティとイベントを追加することができます – elclanrs

答えて

0

あなたはJSON.stringify機能を使用してオブジェクトを文字列化する必要がありますあなたは二つのことを混同している

str = str + '&nbsp;&nbsp;<img alt="" data-qtip="Submit Report" height="14px" width="14px" src="'+img+'" style="cursor:pointer" onclick="submitReport('+JSON.stringify(item)+')"/>'; 
0

。あなたはオブジェクトを文字列に入れようとしますが、これは不可能です。オブジェクトを文字列にして(例えば、文字列にする)、このように渡す必要があります。

str = str + '&nbsp;&nbsp;<img alt="" data-qtip="Submit Report" height="14px" width="14px" src="'+img+'" style="cursor:pointer" onclick="submitReport('+JSON.stringify(item)+')"/>'; 

submitReport()に戻ってオブジェクトに文字列を取得するには、あなたがそれを解析する必要があります。

var obj = JSON.parse(stringifiedObject);