将参数作为字符串传递,在javascript的onclick函数中包含空格
Passing parameter as a string containg white spaces in javascript's onclick function
"<button onclick=editRecords('" + partId + "')>Add Quantity</button>";
如果我传递不带空格的partId
字符串,它工作正常。但是如果我通过'MRF 01'
,它给了我
未捕获的语法错误:意外令牌非法。
为什么会这样,我该如何解决?
每当将空格作为函数参数传递时,都使用
。如果您使用 js 生成 onclick,请使用 encodeURIComponent。
"<button onclick=editRecords('" + encodeURIComponent(partId) + "')>Add Quantity</button>";
来自海报本人。这是一个主要基于意见的答案,使用单引号没有什么传统(我发现了 C 语法,现在我更喜欢双引号......
我宁愿改变引号的组织以获得更干净的代码。这将使它更具可读性以及更传统(在我看来):
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;
更传统的是遵循菲利克斯·克林的智慧(最后一行)。
如果 HTML 属性值应该包含一个空格,则必须使用引号来分隔该值。
请注意此处的语法突出显示:
<span foo=bar baz ></span>
这是一个属性foo
,值为 "bar"
,布尔属性baz
。
另一方面,这
<span foo="bar baz"></span>
是值为 "bar baz"
的属性foo
。注意到baz
是如何以不同的方式突出显示的吗?
若要解决此问题,请在 onclick
的值两边加上引号,或者更好的是,使用其他方式绑定事件处理程序。
我建议这是最好的选择。您可以设置所需的任何属性。
var e = document.createElement("span");
e.className = "close-li";
e.setAttribute('aria-hidden', 'true');
e.setAttribute('data-toggle', 'modal');
e.setAttribute('data-target', '#CreateModal');
e.setAttribute("onClick", "FunctionName(" + parameters + ");" );
e.innerText = "×";
$('#id').append(e); //Id would be the place where you want to append. I used jquery so, I used append
带空格的字符串参数
<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...}
相关文章:
- Target=带有OnClick JavaScript的空白链接
- onclick javascript in PHP
- 按钮don't使用onClick-Javascript HTML重定向
- Selenium>如何使用Selenium Webdriver调用onClick javascript函数
- Image Map 在 FF 和 IE 中不起作用(使用 onclick javascript)
- .onClick javascript 函数 - 悬停时隐藏
- onClick javascript不起作用
- onClick/Javascript导航不起作用
- 我应该如何在Python中使用这个onclick(javascript)
- 如何在ruby on rails中对onclick javascript调用操作
- 如何使用onclick javascript动态添加,删除列表中的节点
- 使用 onclick- Javascript 通过数组递增
- 滚动到一个元素 onClick JavaScript
- 使用 onclick javascript 更改元素的类
- OnClick Javascript似乎无法正常工作
- OndblClick 不会在带有 OnClick JavaScript 的元素上工作
- onclick="javascript:func()" vs. onclick="func
- onClick javascript 函数不起作用
- AutoIt 单击一个在IE中没有名称或只有ID类的onClick Javascript按钮
- 在表单提交后调用 onclick javascript 事件