简体   繁体   English

当onClick调用函数并将url作为第一个参数传递时,参数列表之后的SyntaxError:missing)。 使用Javascript

[英]SyntaxError: missing ) after argument list when onClick calling function and passing url as first argument. Javascript

When passing a URL through the first parameter of a function called cancelOrderByUrl in the "onClick" I get this error: 当通过“onClick”中名为cancelOrderByUrl的函数的第一个参数传递URL时 ,我收到此错误:

SyntaxError: missing ) after argument list

However, if a number was to be passed into the first parameter of cancelOrderByUrl(**HERE**, not here, not here); 但是,如果要将一个数字传递给cancelOrderByUrl(**HERE**, not here, not here);的第一个参数cancelOrderByUrl(**HERE**, not here, not here); there is no error and my function executes. 没有错误,我的功能执行。 So it has to do with syntax, how can i make sure the URL is encapsulated as a string? 所以它与语法有关,我如何确保将URL封装为字符串? toString(); 的toString(); does not do the trick. 没有办法。 Any suggestions? 有什么建议么?

 <script src="someScriptThatContainsFunctionBeingCalledInOnClick.js" charset="utf-8"></script> <script> var someArray = [{cancel:"hhtps://api.somedomain.com/thisandthat/numbers", quantity:"12", price: "2.74"},{cancel:"hhtps://api.somedomain.com/thisandthat/numbers", quantity:"10", price: "2.71"}]; for (var i = 0; i < someArray.length; i++){ var orderDetails = '<td data-th="Cancel">' + '<button class="btn btn-cancel-order" onclick="cancelOrderByUrl('+someArray[i].cancel+', '+parseFloat(someArray[i].quantity).toFixed(2)+', '+parseFloat(someArray[i].price).toFixed(2)+')" >X</button>' + "</td>"; document.getElementById(someArray[i].created_at).innerHTML = orderDetails; }; </script> //if a number is passed instead of url, no problem 

您可以尝试使用string.Format()函数。

onclick='@string.Format("cancelOrderByUrl(YOUR PARAMETERS)")'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM