javascript - 规避asp事件处理程序

标签 javascript .net browser redirect enter

我想通过更改 VB.Net 页面中某些 javascript 中“window.location”的值来引起浏览器重定向。当我单击“Go”按钮时,下面的代码可以正常工作:出现警报并且浏览器已成功重定向。如果我从文本中按“输入”,也会发生同样的情况,框这不起作用。我确实看到了警报,但浏览器仍停留在同一页面上。

如果我删除对 ASP 母版页的引用,“输入”功能就会开始工作,所以也许其中的某些内容正在处理按键事件并终止重定向指令?

顺便说一句,我最初是使用 .Net 组件“正常”执行此操作,并在单击提交按钮时执行回发。但奇怪的是,这导致目标页面加载两次,导致页面闪烁,并且通常效率低下。无论如何,我认为没有任何理由涉及所有 .Net 开销,因此我希望通过简单的客户端脚本来完成它。

有谁知道如何在 .Net 干扰的情况下让“输入”键功能正常工作?或者我是不是找错了方向,应该回到常规的 .Net 回发?

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">

<script type="text/javascript">
  function clickHandler() {
    var dropdown = document.getElementById("dropdown");
    var entityID = document.getElementById("textOne").value;
    var destination = dropdown.options(dropdown.selectedIndex).value + entityID;
    alert(destination);
    location = destination;
  }

  function goIfEnterPressed() {
    if ((event.which && event.which != 13) || (event.keyCode && event.keyCode != 13)) {
      return false;
    }
    clickHandler();
  }

</script>
</asp:Content>
<asp:Content ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
  <select id="dropdown">
    <option value="Page1.aspx?typeOneID=">One</option>
    <option value="Page2.aspx?typeTwoID=">Two</option>
    <option value="Page3.aspx?typeThreeID=">Three</option>
  </select>
  <br />
  <input id="textOne" onkeypress="goIfEnterPressed()"/>
  <br />
  <input type="button" value="Go" onclick="clickHandler()" />
</asp:Content>

最佳答案

您的 Enter 事件可能会被 .Net javascript 内容捕获。通常在这种情况下,我会在开始工作之前阻止事件的默认行为。我不知道你是否使用 jQuery,但代码会是这样的:

  $('#buttonid').keydown(function(e) {
     if (e.keyCode == 13) {
       e.preventDefault();
       //do whatever you want here.
     }
   });

关于javascript - 规避asp事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6035253/

相关文章:

html - IE8 随机不显示我的 div 的背景图像

javascript - 在小 Canvas 上看到大 Canvas 的一部分

c# - 我们可以在 Windows 环境中使用 MonoTouch 开发 iOS 应用程序吗?

c# - 你能在编译过程中只包含某些形式吗

c# - SOLR/C# - 是否可以查询一个 SOLR 索引,并从另一个索引附加文档?

android - 如何在安卓浏览器上屏蔽某些网址?

html - 为什么 Chrome 和 Safari 在 <ruby> 标签中错误地呈现 <rb> 和 <rt>?

javascript - Bootstrap 选项卡问题/Jquery 删除所有子元素上的 .active 类

java - 有没有办法将 HTML 数据和图形数据转储到 pdf 中?

javascript - AJAX 和 JSON 错误处理