"<button onclick=editRecords('" + partId + "')>Add Quantity</button>";
如果我传递partId
字符串没有空格,它就可以正常工作。但如果我通过'MRF 01'
,它会给我
未捕获的SyntaxError:意外的标记ILLEGAL。
为什么会这样,我该如何解决?
答案 0 :(得分:6)
每当您将空格作为函数参数传递时,请使用
。如果您使用js生成onclick,请使用encodeURIComponent。
"<button onclick=editRecords('" + encodeURIComponent(partId) + "')>Add Quantity</button>";
答案 1 :(得分:4)
我宁愿更改引号的组织以获得更清晰的代码。这将使其更具可读性和更传统(在我看来):
var msg = 'Sometimes SO looks like a McDonalds drive through.';
var html = '<button onclick="clickHandler(\'' + msg + '\')">click me</button>';
function clickHandler (msg) { alert(msg); }
document.body.innerHTML = html;
&#13;
更常规的是遵循Felix Kling's wisdom(最后一行)。
答案 2 :(得分:3)
如果HTML属性值应包含空格,则必须使用引号来分隔值。
请注意语法高亮:
<span foo=bar baz ></span>
这是属性foo
,其值为"bar"
,布尔属性为baz
。
另一方面,这个
<span foo="bar baz"></span>
是属性foo
,其值为"bar baz"
。请注意baz
如何以不同方式突出显示?
要解决您的问题,请在onclick
或更好的use a different way to bind the event handler附近加上引号。
答案 3 :(得分:0)
我建议这是最好的选择。您可以设置任何所需的属性。
$makesforsearch = Post::select('make_id')->distinct()->pluck('make_id');
答案 4 :(得分:0)
带空格的字符串参数
<input type="button" onClick="return myFunction('10', 'your text hear')" />
或
带空格的PHP字符串变量
<input type="button" onClick="return myFunction('<?php echo $id ?>', '<?php echo $designation ?>')" />
JS函数
function setVisibility(id, designation) {...your js code hear...}