javascript 为啥按钮的onclick事件不触发 按了没反应
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 为啥按钮的onclick事件不触发 按了没反应相关的知识,希望对你有一定的参考价值。
<%@ page contentType="text/html;charset=GB2312" %>
<!%
function a()
alert("测试!")
%>
<from id="form1" name="form1" method="post" action="">
<p>
用户名:
<input type="text" name="username" id="text"/>
<br/>
</p>
<p>
用户类型:
<select name="select" id="select">
<option value="1">普通用户</option>
<option value="2">VIP用户</option>
</select>
</p>
<input type="button" name="button" id="button" value="提交" onclick="a()"/>
如下:
<script type="text/javascript">
</script>
吧3~6行的代码放入标记中即可。追问
放了。。还是不会来啊。。。点了没反应
追答
function a()
alert("测试!")
把你上面的js代码删除,把我这个替换掉你input那一行
function a()
alert("测试!")
</script> 参考技术C <from id="form1" name="form1" method="post" action="">
看看 html标签错误,应该是<form>而不是<FROM>.
为啥在重新加载页面时触发onclick事件
【中文标题】为啥在重新加载页面时触发onclick事件【英文标题】:Why onclick event triggered when page is reloaded为什么在重新加载页面时触发onclick事件 【发布时间】:2022-01-10 23:37:03 【问题描述】:所以,我的 .cshtml 文件中有一个按钮:
<div>
<button id='btn-next' name='next' type='button' onclick='function f()
@
Console.WriteLine("BeforeCalling");
myClass test = new myClass();
test.TestMethod("123");
Console.WriteLine("AfterCalling");
' class='btn btn-block btn-secondary'>justAButton</button>
</div>
当我的页面重新加载时,为什么它会“点击”(我在终端中看到控制台输出)?但是,如果我手动单击按钮 - 什么也不会发生。它仅适用于页面重新加载。
【问题讨论】:
【参考方案1】:onclick
是一个客户端 JavaScript 事件处理程序。所以无论你想做什么都发生在用户的浏览器中。
然而,Razor 语法由服务器执行在任何东西被发送到客户端。 Razor 正在执行以生成服务器发送给用户的 HTML,然后由浏览器解释。但在浏览器呈现 HTML(并注册任何 JavaScript 事件处理程序)时,服务器已经完成。
所以这基本上意味着您不能让服务器端代码作为客户端事件的一部分运行。当生成 HTML 并且没有任何逻辑发送到客户端时,您的 Razor 代码将运行(您可以通过查看浏览器中的 HTML 源代码来检查)。
如果您希望服务器在客户端事件发生时执行某些操作,您需要让客户端(=浏览器)与服务器进行通信,例如使用 AJAX 请求。或者,如果您想在不必处理 JavaScript 的情况下解决此问题,您可以研究 Blazor。
【讨论】:
以上是关于javascript 为啥按钮的onclick事件不触发 按了没反应的主要内容,如果未能解决你的问题,请参考以下文章
asp.net 环境下当javascript验证不通过是禁止button按钮执行onclick事件的
在转发器中的按钮 onclick 事件上使用 javascript 导致更新面板中的完整回发
如何使用 iOS WKWebView 注入 JavaScript 回调来检测 onclick 事件?