有谁知道为什么asp:CheckBox的客户端javascript处理程序需要是OnClick =""属性而不是OnClientClick =""属性,对于asp:Button?
例如,这有效:
<asp:CheckBox runat="server" OnClick="alert(this.checked);" />
这不(没有错误):
<asp:CheckBox runat="server" OnClientClick="alert(this.checked);" />
但这有效:
<asp:Button runat="server" OnClientClick="alert('Hi');" />
这不会(编译时错误):
<asp:Button runat="server" OnClick="alert('hi');" />
(我知道Button.OnClick用于什么;我想知道为什么CheckBox不能以相同的方式工作......)
我有一个如下按钮,
<asp:Button ID="pagerLeftButton" runat="server" OnClientClick="disable(this)" onclick="pager_Left_Click" Text="<" />
当我使用我的按钮时,onclick不会触发.当我删除OnClientClick时,然后触发onclick.
我需要做的是,在回发期间禁用按钮并在回发结束后启用它.
编辑:附加信息:
我添加了断点,我的触发功能是c#部分,我正在调试,他们肯定没有开火.那些功能就像
protected void pager_Left_Click(object sender, EventArgs e)
{
//Do smthing.
}
protected void pager_Right_Click(object sender, EventArgs e)
{
//Do smthing.
}
当我点击我的按钮时,它被禁用1-2秒并自动启用,但我不确定为什么它被启用.我没有添加任何部分,以便再次启用它.
是否可以使用onclientclick按钮的属性进行客户端检查.如果检查返回true,则触发该onclick事件.如果客户端检查返回false,请不要触发该onclick事件.
那可能吗?
更新:
这2项工作:
Stops the form from submitting:
OnClientClick="return false;"
Allows the form to submit:
OnClientClick="return true;"
接下来的2个不起作用:
// in js script tag
function mycheck() {
    return false;
}
// in asp:button tag
OnClientClick="return mycheck();"
// in js script tag
function mycheck() {
    return true;
}
// in asp:button tag
OnClientClick="return mycheck();"
它同时提交表单.
这是为什么?
我想做很简单的事情,但我不成功.我的asp.net页面上有按钮和标签,我想在点击按钮后获得标签文本.这是我的代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="DynamicWebApplication.WebForm2" %>
<!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">
        function f() 
        {
            var g = $('<%=Label1.ClientID%>').val();  // Also I tried .text() and .html()
            alert(g);
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
            <p></p>
            <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="f();"/>
        </div>
    </form>
</body>
我有一个表单,用户可以删除记录,我想要一个弹出消息,用户必须单击确定以确认删除.
删除按钮:
<asp:Button ID="btnDelete" runat="server" Text="Delete" UseSubmitBehavior="false" OnClick="btnDelete_Click" OnClientClick="confirmation();" />
确认功能:
function confirmation() {
        var answer = confirm("Are you sure you want to delete? This action cannot be undone.")
    }
所以现在,单击删除按钮会在后面的代码中执行btnDelete_Click Sub,无论您是单击okay还是在弹出框中取消.我知道我可以在我的javascript函数中添加if(answer){ - 这里的一些代码 - },但是可以使用javascript从代码隐藏中执行代码吗?或者还有另一种方法吗?
我只想在Web用户控件中添加一些客户端(JQuery Javascript)验证.我放了一个OnClientClick处理程序,然后调用该函数.但是,即使我返回"false",OnClick方法也会被触发.我究竟做错了什么 ?
我使用VS 2010,使用JQuery 1.4.2定位4.0框架.和JQuery UI 1.8.4.
这是一个示例代码:
<td style="text-align:right"><asp:Button ID="btnAddSave" OnClientClick="return ValidateMail();" OnClick="btnAddSave_Click" runat="server" Text="Submit" /></td>
脚本方法:
function ValidateMail() {
alert("Bouton clicked");
return false;
}
如果我在Page_Load事件中放置一个断点,我看到我进入并且还执行了btnAddSave_Click事件.
我的链接按钮 -
<asp:LinkButton runat="server" ID="lbtnEdit" Text="edit" OnClientClick="javascript:msgDisp('<%# Eval(LocationId).toString() %>')" />
和javascript msgDisp是 -
<script type="text/javascript" language="javascript">
    function msgDisp(lid) {            
        alert(lid);
    }
</script>
但它不是在pop中使用LocationId,而是整个字符串<%#......%>在弹出消息中是comin.如何在javascript中传递Eval值.
我有一个LinkButton地方,我使用该OnClientClick属性询问用户他是否真的想要执行一个动作,例如:
<script>
function confirmDelete() {
  return confirm('Do you really want to delete?');
}
</script>
<asp:LinkButton runat="server" OnClientClick="return confirmDelete()" ... />
这种模式通常有效,但在这个特定页面上却没有.无论是否在确认对话框中单击"确定"或"取消",都会执行回发.
只是为了完整性(回答pst的问题):呈现的HTML是可以的.例如它看起来像这样:
<a id="ctl00_c1_content_btnDelete" onclick="return confirmDelete();"
 href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(..))"
... >
  Delete
</a>
我有Onclientclick事件附加到服务器端代码中的按钮,如下所示,
TopPanelButton.OnClientClick = string.Format("if(!ValidData({0},{1},{2},{3})) return false;", txtOD.ClientID, radCmbOD.ClientID, txtgetMe.ClientID, RadAjaxLoadingPanel1.ClientID);
此外,onClick事件附加到aspx页面中的相同按钮,
 <asp:Button ID="TopPanelButton" runat="server" Text="Go" 
   CssClass="CBtn1" Width="30px" Height="21px" OnClick="TopPanelButton_Click" />
如果onclientclick返回true,则应触发服务器端点击事件.调用"ValidateData()"函数来验证表单中的条目.
此代码在IE中正常工作.但在Firefox中,这两个事件并不充实.如果我评论"TopPanelButton.OnClientClick = ..."代码,则onClick事件将被触发.
我在哪里可以在下面的代码中应用此代码Page.ClientScript.GetPostBackEventReference().
TopPanelButton.OnClientClick = string.Format("if(!ValidData({0},{1},{2},{3})) return false;", txtOD.ClientID, radCmbOD.ClientID, txtgetMe.ClientID, RadAjaxLoadingPanel1.ClientID);
Firefox没有调用ValidData函数.我在javascript中设置了警报,但Firefox中没有显示警告消息.但IE显示警报消息.
我的validData函数:
function ValidData(txtOND, ddlOND, txtgetMe, aPanel) {
        alert("Entered");
        if (!ValidNumber(txtgetMe)) {
            aPanel.hide();
            return false;
        }
        if (ddlOND.value == "Origin" || ddlOND.value == "Destination") {
            if (!ValidOriginOrDestination(txtOND, ddlOND.value)) {
                aPanel.hide();
                return false;
            }
        }
        else if (ddlOND.value == "O&D") {
            if (!ValidOND(txtOND)) {
                aPanel.hide(); …我遇到了将参数传递给客户端事件的问题OnClientClicking.
我试图使用该String.Format ()功能,但它不起作用.
您是否有一个解决方法来发送与之链接的参数OnClientClicking?
代码asp:
<telerik:RadButton ID="bnt_meetingDelete" runat="server" OnClientClicking="<%# string.Format("confirmCallBackFn('{0}');",Eval("MeetingID")) %>" Image-ImageUrl="~/image/icone/delete-icon.png" Image-IsBackgroundImage="true" Width="21" Height="21" telerik:RadButton>
错误IIS:
Parser Error 
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately. 
Parser Error Message: The server tag is not well formed.
我试过控制器[asp:ImageButton].并且是同样的错误
好吧,我想我已经从stackoverflow尝试了3-4种方法,但似乎没有一种方法可行.
我有:
OnClientClick='<%# Eval("albumName", "doConfirm(\"delete\", \"{0}\");").ToString() %>'
但在html中它呈现为:
onclick="doConfirm("delete", "Test");"
还尝试了一个方法来调用:
public string CreateConfirmation(String action, String item) {
    return String.Format(@"return confirm('Sikker på du vil {0}: {1}');", action, item);
}
有了这个:
OnClientClick='<%# CreateConfirmation("delete", (string)Eval(albumName)) %>'
但是给了我完全相同的问题....所以我很丢失?
我在页面上有几个ASP文本框控件,添加了自定义验证器.我有保存按钮,它验证这些文本框.我刚刚添加了与文本框相同的验证组.
为了合并addtional要求,我为Save按钮添加了onClientClick函数.但很高兴发现由于验证组(验证器控件)而导致的验证未触发,而是调用onClientClick函数并调用服务器端Click事件.
Javascript代码
function ValidateInputs(source, args) {
            var regex = /^(-{0,1}\d{1,100})$/;
            if (args.Value.length < 1) {
                $("span[id$='spn_error']").html('Please Enter ' + $(source).attr("errormessage"));
                $("span[id$='spn_error']").show();
                args.IsValid = false;
                return;
            }
            else if (!regex.test(args.Value)) {
                $("span[id$='spn_error']").html($(source).attr("errormessage") + ' allows only numbers');
                $("span[id$='spn_error']").show();
                args.IsValid = false;
                return;
            }
            else {
                if ($("span[id$='spn_error']").html().indexOf($(source).attr("errormessage")) >= 0)
                    $("span[id$='spn_error']").hide();
                args.IsValid = true;
                return;
            }
        }
function isValidTracker() {
//Dummy Code Say Confirm button
return(confirm('Are you sure');)
}
HTML代码
<span class="errormesg" runat="server" id="spn_error" style="display: none;
                        font-size: 9px;"></span>
<asp:TextBox ID="txtLastMonthCount" runat="server" …我有一个附带onclientclick js函数的ImageButton:
deleteButton = new ImageButton();
deleteButton.ID = "deleteRiskButton" + planRisk.Id;
deleteButton.ImageUrl = "../../Images/deleteButton.gif";
deleteButton.Click += new ImageClickEventHandler(deleteButton_Click);
deleteButton.OnClientClick = "removeRowAfterDeletion('" + deleteButton.ID + "')"; 
在这个JavaScript函数中,我有一个对话框,确保用户打算删除有问题的项目.
function removeRowAfterDeletion(buttonId)
   {
        var deleteConfirmationDialog = confirm("Are you sure you want to remove this risk from your plan?.")
        return deleteConfirmationDialog;
   }
我的印象是,如果onclientclick函数返回false,则不会发生回发.但是,即使我单击取消,也会调用deleteButton_Click c#函数.
知道问题是什么吗?
asp.net ×13
onclientclick ×13
javascript ×5
c# ×4
onclick ×3
eval ×2
jquery ×2
postback ×2
vb.net ×2
asp.net-3.5 ×1
bind ×1
button ×1
checkbox ×1
client-side ×1
code-behind ×1
firefox ×1
label ×1
validation ×1