javascript - 让我摆脱 JavaScript 回发故障船

标签 javascript asp.net

我必须调用两个 js 函数,将焦点设置在文本框上,并停止在单击按钮时发生回发。如果我只能拦截回发,我想我就明白了。我的 js 技能与 weaksauce 不相上下。

测试用例

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JsTextFocus.aspx.cs" Inherits="WebApplication1.JsTextFocus" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript" language="Javascript">
        function aMethod() {
            var dowork = 'bleh';
        }
              function setFocusOnTextBox() {
                  TextBox1.Focus();
              return false;//Stop the postback..FAIL
          }
        </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:ImageButton ID="imageBtn" runat="server" ImageUrl="images/document_Small.gif" CausesValidation="false" OnClientClick="aMethod();return setFocusOnTextBox();return false;" />
    </div>
    </form>
</body>
</html>

页面加载不应在 OnClientClick 之后触发

    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write("PS happened at " + DateTime.Now);
    }

最佳答案

您指的是 setFoucs.. 函数中的 TextBox1,此时未知。使用 document.getElementByID 获取对文本框的引用,然后调用 focus 而不是 Focus

function setFocusOnTextBox() 
{         
  var TextBox1 = document.getElementById("TextBox1");
    TextBox1.focus();              
    return false;         
}         

您可以删除 Image ClientClick 处理程序末尾的 return false。 即:

<asp:ImageButton ID="imageBtn" 
runat="server" 
ImageUrl="images/document_Small.gif" 
CausesValidation="false" 
OnClientClick="aMethod();return setFocusOnTextBox();" />

关于javascript - 让我摆脱 JavaScript 回发故障船,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4787363/

相关文章:

javascript - CSS 选择器通过属性名称开始匹配元素

c# - 当用户点击asp.net中的外部面板时如何获取警报消息

c# - 用asp传递参数:Button onClick with x-jquery-tmpl

jquery - 带有 fancybox 的 Asp.net 照片库不显示下一个/上一个按钮

javascript - GreaseMonkey @include 约 :newtab

javascript - 有没有办法让使用服务器发送的事件持久化?

javascript - 如何确定一个字符串是否包含一系列重复的字母

asp.net - HttpWebRequest 上 MediaType 属性的有效值是什么

c# - 在 .Net 代码之前触发 Javascript

javascript - 在 OctahedronGeometry THREE.js 中选择六 Angular 形面