我正在尝试将字符串值传递给javascript函数,但它显示语法错误。我的代码在
之下product_row +='<td><input type="text" name="edit_product_type"
id="edit_product_type_'+this.id_sale_order+'" value="'+this.product_type+'"
onblur="updateProduct(\'' + this.id_sale_order + '\','edit');" rel="edit" />';
错误
SyntaxError: missing ; before statement
..." onblur="updateProduct(\'' + this.id_sale_order + '\','edit');" rel="edit" />'
答案 0 :(得分:0)
阅读this回答。
以下是一个例子:
'<input type="button" onClick="gotoNode(\'' + result.name + '\')" />'
在您的情况下,您可能希望将edit
作为字符串传递,因此请更改此
product_row +='<td><input type="text" name="edit_product_type"
id="edit_product_type_'+this.id_sale_order+'" value="'+this.product_type+'"
onblur="updateProduct(\'' + this.id_sale_order + '\','edit');" rel="edit" />';
到这个
product_row +='<td><input type="text" name="edit_product_type"
id="edit_product_type_'+this.id_sale_order+'" value="'+this.product_type+'"
onblur="updateProduct(\'' + this.id_sale_order + '\',\'edit\');" rel="edit" />';
使用了逃避反斜杠。
答案 1 :(得分:0)
检查拼写错误:
:onblur="updateProduct(\'' + this.id_sale_order + '\',\''+edit+'\');"
或:onblur="updateProduct(\'' + this.id_sale_order + '\',\'edit\');"
取决于edit是否为变量名或字符串
答案 2 :(得分:0)
您需要在onblur函数中输入正确的单引号,例如
onblur="updateProduct(\"' + this.id_sale_order + '\",\"edit\");" rel="edit" />
您可以同时使用单引号和双引号,但请务必小心使用
答案 3 :(得分:0)
你缺少引号
product_row +='<td><input type="text" name="edit_product_type"
id="edit_product_type_'
+this.id_sale_order
+'" value="'
+this.product_type
+'" onblur="updateProduct(\''
+ this.id_sale_order
+ '\',\'edit\');" rel="edit" />';
答案 4 :(得分:0)
如果你分解你的代码,你会在倒数第二行找到问题,如果你删除“编辑”这个词就不会出现错误,如果你把它放在双引号中,你就不会得到错误但是如果你把它放在单引号中,你会收到错误
product_row +='<td><input type="text"
name="edit_product_type"
id="edit_product_type_'+this.id_sale_order+'"
value="'+this.product_type+'"
onblur="updateProduct(\'' + this.id_sale_order + '\',
\'edit \');“//问题出现在这里,所以用”编辑“进行'编辑'
rel="edit" />';