- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 jQuery 相当陌生,但我的页面上有一些链接,这些链接应该在单击时切换可见的表单部分,或者如果禁用 javascript,它会执行完整的回发来切换这些部分
它在我的测试环境中工作正常,回发发生在 jQuery 脚本之后,但是一旦我部署它,回发就会发生在 jQuery 单击事件之前。它部署在运行IIS 6.0的Windows 2003服务器上,而我的测试环境是Windows XP/IIS 5.1/VS2010
这是我正在使用的代码。如果我将脚本放在 .ready()
而不是 .click()
中,则脚本会在生产中运行,但在 .click()
中我不这样做甚至没有收到警报,所以我假设问题是在 jQuery 脚本有机会执行之前发生的 PostBack。
jQuery:
$(document).ready(function () {
// Toggle Details
$('.toggleDetailsButton').click(function () {
alert('test');
$(this).parentsUntil(".parentRow").parent().next().toggleClass("hidden");
return false;
});
});
隐藏代码:
Protected Sub rpData_ItemCommand(ByVal sender As Object, ByVal e As RepeaterCommandEventArgs) Handles rpData.ItemCommand
// Manually toggle rows here
End Sub
ASP:
<asp:Repeater ID="rpData" runat="server">
<ItemTemplate>
<tr class="parentRow">
...
<asp:Button runat="server" ID="cmdViewDetails"
CommandName="ToggleDetails" Text="details"
CssClass="buttonAsLink toggleDetailsButton" />
...
</tr>
<tr id="rpData_DetailsRow" class="detailsRow hidden" runat="server">
</tr>
</ItemTemplate>
</asp:Repeater>
编辑
根据下面评论中的建议,在 onClientClick
中运行 jQuery 函数使页面按其应有的方式运行,但是我仍然想知道为什么在我的测试环境中的 jQuery 事件之后发生 PostBack ,但在生产中的 jQuery 事件之前。
我还注意到两者之间的其他差异。例如,我还有一个用于打开/关闭搜索 div 的按钮,该按钮在测试中运行良好,但在生产中则不然。它使用 $('.toggleSearchButton').next()
获取搜索按钮下的 div 并切换其类名。在生产环境中,该对象返回[object Object]
,但是调用.attr('class')
返回undefined
(. attr('id')
、.attr('tag')
和 .nodeName
)。在我的测试环境中,它返回我的搜索 div 的正确值。
我已经在 IE、FF 和 Chrome 中测试了此行为。在我的测试机器上,它在所有 3 台机器上都能正常工作。在我的生产机器上,只有 IE 能够正常工作。
最佳答案
试试这个:
$('.toggleDetailsButton').click(function (e) {
if (e.stopPropagation) e.stopPropagation();
if (e.preventDefault) e.preventDefault();
.
.
});
默认情况下按钮呈现一个提交按钮。您还可以设置 UseSubmitBehavior="false"使其成为 <input type="button" />
元素,看看这是否会给您带来更好的结果。
关于jquery - 为什么我的 PostBack 发生在 jQuery 单击事件之前?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9004061/
我正在进入网络开发领域,并且看到了回发这个词。来自非 Web 背景的新 Web 开发人员需要了解哪些关于回发的知识? (即它们是什么以及它们何时出现?) 如果您愿意分享更多信息来帮助网络世界的新手了解
1> 只是想了解 SignalR 1.x 在特定场景下的功能 假设我们有 10 个客户端连接到 Hub,其中一个连接的客户端说 client-1 执行回发,所以调用 OnDisconnected 而不
我的站点当前实现了我们已在IIS中映射的自定义404页面。因此,当用户执行类似www.mysite.com/foo/bar/doesnotexist的操作时,它将执行404.aspx URL。这很好用
我有这个 aspx: 现在在 Page_Load 我想确定 PostBack 是否由 check 引起,所以我遵循了 this使用此代码的问题方法: if(FindControl(Page.Requ
我想使用 POSTBACK 方法检查用户是否存在于 mysql 表中。我正在研究 mysql,我知道它很快就会被删除,但目前我无法更改。我希望警报在用户名文本框旁边弹出(如果它已经存在)。目前它不起作
我有一个表单,可以在提交时下载生成的 csv 文件。我在页面上有一个 asp:Literal 作为加载文本的占位符: $("input[type=submit]").on("click"
我想将所选的下拉列表项插入数据库,但我的下拉列表保留返回第一个选项。自动回发是假的。代码在这里: dropTask() = 我从数据库中填充它的下拉列表。 protected void
在我的页面中有很多控件,我想知道是谁在 Page_Load 事件中导致了页面 PostBack。 最佳答案 为此你可以试试 string ctr = Page.Request.Params.Get("
我在客户端有一些验证 JS 代码,必须在 PostBack 之前执行。如果此验证码返回“false”,则无需回发。如何禁用它? 最佳答案 请记住,真正的验证应该始终在服务器上进行。您在客户端所做的任何
这是我的java脚本 $('#geoLocation').click(function () { alert("I am Here"); if (navigator.
我在运行时向 Page Form 对象添加控件。 每个控件都有一个 Id。 在回发时,我希望能够访问这些控件及其值。 目前,当我执行回发时,表单在 Form.Controls 集合中没有控件。 我该如
我在 ASP.NET 触发按钮单击两次时遇到问题。该按钮位于 UpdatePanel 内,但当我单击它时,我得到两次回传,然后单击两次按钮,然后两次调用我的 DAL(按此顺序)。我以前从未遇到过这种情
我在证明我的请求表单时遇到了一些麻烦,因此它只能提交有效信息并告诉用户什么是错误的,如果不是的话。 我希望 Controller 创建的新属性(新联系人的属性)在表单回发时被不显眼的 JS 验证为 f
这是一个一般性问题,我还没有找到答案。 我能否在代码中区分 PostBack 和刷新以确保人们不会重复提交相同的项目? 应用程序是基于 C# 的 ASP.NET。代码如下: protected voi
我会尽我所能阐明我想做的事情。 让我先声明一下,我是 C# 和 ASP.NET 的新手,对 javascript 的经验很少。 我有一个调用提示框的 javascript 函数。总体情况是——如果输入
现在我有一个带有 3 个步骤的 asp:Wizard。 创建用户 表格到电子邮件 字段摘要 当在第三步单击完成按钮时,我想创建用户并发送表单。我有写这篇文章的逻辑,但我唯一的问题是当按下向导上的下一个
我有一个 ASP.NET TextBox,我希望它是 ReadOnly。 (用户使用另一个控件修改它) 但是当有 PostBack() 时,文本会重置为空字符串。 我知道,如果您将 TextBox 的
问题 安 不更新了 背景 我有一个页面叫 Add_Edit_Drugs.aspx .可以通过以下两种方式之一访问此页面:用户可以单击 Add Drug按钮,触发 Response.Redirect("
根据 documentation,我在验证与 Skadnetwork/Apple 的回发时遇到问题苹果正在放弃。 我有两个问题(至少我认为只有两个问题)。 \u2063 - 我正在使用 PHP 从 P
我想通过在特定事件发生后将一些 AJAX 插入页面来导致仅发生一次的回发。 目前我有: string script = "" +
我是一名优秀的程序员,十分优秀!