如何使用脚本清除asp.net中的文本框值

时间:2021-07-20 04:51:14

标签: javascript asp.net

我的asp.net中有一个接受不同值的文本框,我写了一个脚本,每次按F5按钮时,文本框中的值都会被清除。当我运行代码并按F5时,文本框值存在。我该如何解决这个问题?

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="wellDesigned0428._default" %>

<!DOCTYPE html>
<script runat="server"></script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <link href="~/StyleSheet1.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
    <form id="form1" runat="server">
        <div class="body">
            <div class="content ">
          <asp:TextBox ID="txtCodePers" runat="server" CssClass="textbox" AutoPostBack="True" OnTextChanged="txtCodePers_TextChanged" MaxLength="4" ></asp:TextBox> 
           <asp:TextBox ID="txtName" runat="server" CssClass="textbox"></asp:TextBox>   
        </div>
    </form>
        <script type="text/javascript">
            document.onkeydown = fkey;
            document.onkeyup = fkey;
            document.onkeypress = fkey;
            function fkey(e) {
                if (e.keyCode == 116) {
                    alert("f5 pressed");
                    document.getElementById("txtCodePers").value = "";
                    document.getElementById("txtName").value = "";
                }
            }
        </script>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

我认为问题在于您使用的是 txtCodePers 的 ID,它是来自服务器端的 ID。设置 clientid 或使用 vew 源检查 txtCodePers 的 id 是什么。

除此之外,我不建议您覆盖 f5 的默认行为,即刷新。如果用户用户使用鼠标怎么办?或使用浏览器按钮进行刷新。

答案 1 :(得分:0)

您的 ClientIDTextBoxID 属性中给出的不同。所以你的javascript不会找到元素。

您可以在脚本中使用 ClientID,也可以在简单的情况下将 ClientIDMode 属性添加到文本框:

ClientIDMode="Static"

这将产生与您的 ClientID 相同的 ID,您无需更改您的 javascript。

相关问题