gpt4 book ai didi

asp.net - 在没有 AutoPostBack 的情况下根据两个文本框值计算标签中的百分比

转载 作者:太空宇宙 更新时间:2023-11-04 16:07:53 26 4
gpt4 key购买 nike

花了一天时间寻找解决方案。但没有成功。我只是想为我的学生创建一个百分比计算表。这是我的 .aspx 代码

<%@ Page Title="" Language="C#" ClientIDMode="Static" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<script type="text/javascript" src="js/jquery.js"></script>
<script>
$(document).ready(function () {
$("#txt1").val("");
$("#txt2").val("");
});
function txtHSpercentage() {
ch1 = $("#txt1").val();
ch2 = $("#txt2").val();
ch3 = (ch1 / 100) * ch2;
document.getElementById("#txthsP").value = (ch3.toFixed(2));
}
</script>
<style>
#table1
{
border: solid thin black;
}

#table1 td
{
border: solid thin black;
width: 30px;
text-align: center;
}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<table id="table1" style="background-color: lightgray; width: 50%; border: solid thin black; margin-top: 100px">
<tr>
<td>HS</td>
<td>
<asp:TextBox ID="txt1" runat="server" Width="90%" onkeyup="txtHSpercentage()"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="txt2" runat="server" Width="90%" onkeyup="txtHSpercentage()"></asp:TextBox>
</td>
<td>
<asp:Label ID="txthsP" runat="server" Width="90%" ForeColor="Black" />
</td>
</tr>
</table>
</asp:Content>

它根本不工作。我只想在用户在 txthsMO 中输入值时获取值。它应该像计算器一样工作。是否可能。请帮忙......

更新:-在 ViewpageSource 中显示如下:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>

</title>
<script type="text/javascript" src="http://ff.kis.scr.kaspersky-labs.com/1B74BD89-2A22-4B93-B451-1C9E1052A0EC/main.js" charset="UTF-8"></script><script type="text/javascript" src="js/jquery.js"></script>


<script type="text/javascript" src="js/jquery.js"></script>
<script>
$(document).ready(function () {
$("#txt1").val("");
$("#txt2").val("");
});
function txtHSpercentage() {
ch1 = $("#txt1").val();
ch2 = $("#txt2").val();
ch3 = (ch1 / 100) * ch2;
document.getElementById("#txthsP").value = (ch3.toFixed(2));
}
</script>
<style>
#table1
{
border: solid thin black;
}

#table1 td
{
border: solid thin black;
width: 30px;
text-align: center;
}
</style>
</head>
<body>
<form method="post" action="Default3.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="cHuYm1VLP9az8bfSVVpFYL2zGIUY+7Jr6iWOLhPF2jhHns5K4u5zhkPWMkN6qiw6WsTTsDIUJxBVutesBKtzOj66kjVPVjPxzF+wz+3Mhv4=" />
</div>

<div class="aspNetHidden">

<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="8sEsxlU6EE+aaqKCbHV0992JS44nu7cKDzulDBEkeZthEts5PY0j05tUanKAHJUYfsL+0tG8j9r4ULWq62a4zj93fDQwm/vzykw31K+1sP1ly4FihsKHIqZ16Y1cXWKlNgOgZ9xj22pI9+Dc7uRCyw==" />
</div>
<div>

<table id="table1" style="background-color: lightgray; width: 50%; border: solid thin black; margin-top: 100px">
<tr>
<td>HS</td>
<td>
<input name="ctl00$ContentPlaceHolder1$txt1" type="text" id="txt1" onkeyup="txtHSpercentage()" style="width:90%;" />
</td>
<td>
<input name="ctl00$ContentPlaceHolder1$txt2" type="text" id="txt2" onkeyup="txtHSpercentage()" style="width:90%;" />
</td>
<td>
<span id="txthsP" style="display:inline-block;color:Black;width:90%;"></span>
</td>
</tr>
</table>

</div>
</form>
</body>
</html>

我还在页面顶部添加了 ClientIDMode="Static"请帮助...

最佳答案

第一件事:您应该在代码中使用 txt1txt2 而不是 Text1Text2

由于每个 TextBox 的 ID 可能与容器的名称结合在一起(如@schudel 的评论中所述),以下语法是获取正确 ID 的更安全的方法:

var ch1 = $("#<%= txt1.ClientID %>").val();
var ch2 = $("#<%= txt2.ClientID %>").val();
var ch3 = (ch1 / 100) * ch2;
$("#<%= txthsP.ClientID %>").text(ch3.toFixed(2));

另一种方法是将 TextBox 的 ClientIDMode 设置为 Static:

<asp:TextBox ID="txt1" runat="server" ClientIDMode="Static" ... />

保留原始 ID。然后您可以使用它来检索控件:

$("#txt1")

关于asp.net - 在没有 AutoPostBack 的情况下根据两个文本框值计算标签中的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36632126/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com