asp.net-mvc - 未在 HTMLButtonElement.onclick 中定义
问题描述
再会,
我有一个按钮
<button id="4" onclick="UpdateStatus(this.id)" class="btn btn-default" type="button">update</button>
那是调用一个ajax函数
<script>
$(document).ready(function () {
function UpdateStatus(Id) {
$.ajax({
type: "Post",//or POST
url: '/myController/UpdateSomething?Id=' + Id,
// (or whatever your url is)
data: { data1: var1 },
success: function (responsedata) {
// process on data
alert("got response as " + "'" + responsedata + "'");
}
});
}
}
</script>
我的问题是我收到一个错误:
UpdateStatus is not defined at HTMLButtonElement.onclick
我究竟做错了什么?谢谢
更新
当我尝试运行此代码时
@section scripts
{
<script>
$(document).ready(function () {
//Carga datos del curso
console.log("asdf");
});</script>}
我没有在控制台中收到消息。
解决方案
document.ready
问题是,您正在jQuery 事件中定义您的方法定义。解析和呈现按钮标记时,未定义 JavaScript 方法,因此您会收到错误消息。
jqueryready
方法稍后在文档准备好时执行(HTML 的解析和呈现已经完成,可以安全访问 DOM)。至此,HTML 已经渲染完毕。
在它之外定义它。
<script>
function UpdateStatus(Id) {
alert('UpdateStatus called');
}
$(function () {
});
</script>
另一种选择是使用普通的 JavaScript。因此,您无需将 click 事件处理程序连接到按钮标记,而是稍后在触发 document ready 时进行连接。
<button id="4" class="btn btn-default" type="button">update</button>
并连接点击事件
$(function () {
$("#4").click(function (e) {
e.preventDefault();
alert('User clicked');
});
});
推荐阅读
- reactjs - 搜索提交路线
- javascript - Javascript:setTimeout:clearTimeout
- visual-studio - 命令提示符导致致命错误,而 MSVS 2019 成功构建 CUDA 示例
- javascript - 在功能组件React native中动态创建对列表视图中项目的引用
- ruby-on-rails - 如何从设计中的散列令牌中获取原始的 reset_password_token?
- flutter - 为什么我的颤振插件项目不能覆盖方法(ctrl + o),提示“没有找到覆盖的方法”
- swiftui - 在 Swift 中填充文本时,文本超出 UITextField
- javascript - 在另一个字符串中查找特定字符串之后的所有出现
- android - 缓存活动请求的机制(协程)
- javascript - 如何在 Directus 集合上使用 javascript 编辑、添加、检索和更新信息?