2012-03-29 3 views
2

文字列値をonclickに入れると、コンソールは 'Uncaught SyntaxError:Unexpected token ILLEGAL'を返します。その数字だけではうまく動作しますが、文字列ではありません!onclickが数字と文字列を渡す

コード:

document.getElementById("productMenu").innerHTML += "<div class=\"leftMenuItems\" onclick=\"javascript:showResources(" + p_codes + ");\">" + p_codes + " - " + p_names + "</div>"; 

<div class="leftMenuItems" onclick="javascript:showResources(1234ABC);">Product Name</div> 

答えて

2

あなたが引用符に

onclick="javascript:showResources('1234ABC');" 

が欠落している1234ABCは、数字は引用符

+0

Doh!明白ではないことが時々あります。今働いて!多くのありがとう –

1

を必要としませんが、問題はあなたがいない場合ということで、文字列であるため、引数を引用符で囲むと、JavaScriptは同じ名前の変数を探しています。変数名は数値リテラルで始めることはできないので、エラーが発生しています。数値だけが整数として渡されます。

あなたは、次を使用する必要があります。

<div class="leftMenuItems" onclick="javascript:showResources('1234ABC');">Product Name</div> 
+0

詳細な説明をいただきありがとうございます、ある日、私はこのすべてでより良くなるでしょう...ある日! –

1

はこれを試してみてください、それは私のために働きました。

パスは、次のString.Formatの中に引用符の中の文字列: HttpUtility.HtmlEncode("'"+personnelPhotoList[j].name.Trim()+"'")

コードサンプル:

StringBuilder strPhotos = new StringBuilder(); 

strPhotos.Append(String.Format("<div class=\"div_employee_img\"> 
     <a href=\"#\" onclick=\"DeletePhoto({0}); return true;\"></a></div>, 
     HttpUtility.HtmlEncode("'"+personnelPhotoList[j].name.Trim()+"'"))); 
0

どういうわけか、それは完全なコードを投稿していなかった、ここでは再び

strPhotos.Append(String.Format("<input type=\"button\" onclick = \"Delete({0}) return false;\", HttpUtility.HtmlEncode("'"+personnelPhotoList[j].name.Trim()+"'")));

です
関連する問題