你好我需要在按下按钮后将一个参数传递给我的JS函数。
这是我的按钮:
<button type="button" class="btn btn-default" id="UserClick" onclick="foo(@HttpContext.Current.User.Identity.Name)">Click here to add me as a user</button>
正如您所见,我尝试将@HttpContext.Current.User.Identity.Name
发送到函数foo。
这是我的Foo功能:
function foo(value) {
alert(value);
};
但我得到的只是这个错误:
Uncaught SyntaxError: Unexpected token ILLEGAL
如何绕过这个?
@Update
包括所有文件:
<script src="/Scripts/CreateDevice.js"></script>
<script src="/Scripts/jquery-ui.js"></script>
<script src="/Scripts/jquery-1.10.2.js"></script>
完整的JS文件:
$(document).ready(function () {
function foo(value) {
alert(value);
};
})
我可以从page-source访问js文件。
答案 0 :(得分:2)
首先将文件序列更改为
<script src="/Scripts/jquery-1.10.2.js"></script>
<script src="/Scripts/jquery-ui.js"></script>
<script src="/Scripts/CreateDevice.js"></script>
在文档就绪处理程序之外声明您的函数。像
$(document).ready(function () {
});
function foo(value) {
alert(value);
};
将参数传递给引号
onclick="foo('@HttpContext.Current.User.Identity.Name');"
此外,您可以使用.on()绑定事件并使用属性传递参数
JS
$(document).ready(function () {
//Bind Event
$(document).on('click', '#UserClick', function(){
alert($(this).data('user-name'))
});
});
HTML 的
<button type="button"
class="btn btn-default"
id="UserClick"
data-user-name="@HttpContext.Current.User.Identity.Name"
>Click here to add me as a user</button>
答案 1 :(得分:1)
onclick="foo('@HttpContext.Current.User.Identity.Name');"
$(document).ready(function () {
window.foo = function(value) {
alert(value);
};
})
这将有效...
你应该考虑删除html中的'onclick'属性,然后使用jquery的.on()函数将函数绑定到按钮。