Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试使用jQuery单击asp:LinkButton_Javascript_Jquery_Asp.net_Ajax_Click - Fatal编程技术网

Javascript 尝试使用jQuery单击asp:LinkButton

Javascript 尝试使用jQuery单击asp:LinkButton,javascript,jquery,asp.net,ajax,click,Javascript,Jquery,Asp.net,Ajax,Click,我正在寻找一种使用jQuery单击的方法。我还使用了一个带有Yes/No选项的,因此如果用户单击“Yes”,它会触发一个javascript函数,OnOk(),该函数必须单击页面上的save按钮,但它目前没有做任何事情,只是显示警报框: ASP.NET AJAX <asp:LinkButton ID="butSaveAssociation" runat="server" OnClientClick="SaveAssociation();" Text="btnSave" /> <

我正在寻找一种使用jQuery单击
的方法。我还使用了一个带有Yes/No选项的
,因此如果用户单击“Yes”,它会触发一个javascript函数,
OnOk()
,该函数必须单击页面上的save按钮,但它目前没有做任何事情,只是显示警报框:

ASP.NET AJAX

<asp:LinkButton ID="butSaveAssociation" runat="server" OnClientClick="SaveAssociation();" Text="btnSave" />

<asp:ModalPopupExtender BehaviorID="confirmPopup" ID="confirmPopup" runat="server" TargetControlID="butTest" 
    PopupControlID="ConfirmView"  OnOkScript="OnOk();" OnCancelScript="$find('confirmPopup').hide(); return false;" OkControlID="yesButton" CancelControlID="noButton" />

<asp:Panel ID="ConfirmView" runat="server" CssClass="modalPopup" Style="display:none; height:150px; width:250px;">
    <center><div>
        <table style="margin-left:auto; margin-right:auto;">
            <tr>
                <td colspan="4" align="left" style="padding-left: 75px; padding-top: 10px;">
                    Are you sure you want to save the changes?
                </td>
            </tr>
            <br /><br />
            <tr>
                <td align="left" colspan="1">
                    <asp:LinkButton ID="yesButton" runat="server" CausesValidation="false" CssClass="YesNoButton" BorderStyle="none" Text="YES">
                    </asp:LinkButton>
                </td>
                <td align="right" colspan="1">
                    <asp:LinkButton ID="noButton" runat="server" CausesValidation="false" CssClass="YesNoButton" BorderStyle="none" Text="NO">
                    </asp:LinkButton>
                </td>
            </tr>
        </table>
    </div></center>
</asp:Panel>

是否确实要保存更改?


JAVASCRIPT W/JQUERY

<script src="~/Scripts/jquery-1.6.1.min.js"></script>

<script type="text/javascript">

    function OnOk() {
        ClickSaveButton();
    }

    function ClickSaveButton() {
        $('#<%=butSaveAssociation.ClientID %>').click()  // not working...
        alert('save button clicked.');
    }
</script>

函数OnOk(){
单击保存按钮();
}
函数ClickSaveButton(){
$('#')。单击()//不工作。。。
警报('单击保存按钮');
}
编辑

“SaveAssociation()”函数仅用于更改标志,因此它不执行实际的保存:

<script type="text/javascript">
    function SaveAssociation() {
        setDirty(false);
    }

    function setDirty(changeVal) {
        $("#IsDirty").val(changeVal);
    }
</script>

<input type="hidden" id="IsDirty" value="" />

函数SaveAssociation(){
setDirty(假);
}
函数setDirty(changeVal){
$(“#IsDirty”).val(changeVal);
}

此功能只是检查页面上是否有更改,如果有更改,“IsDirty”隐藏字段将设置为true。我需要调用处理“butSaveAssociation”的VB处理程序。如果用户单击“确定”保存更改,请单击“确定”,如回发。

为什么不直接调用SaveAssociation()?

为什么不直接调用SaveAssociation()?

尝试以下操作:

function ClickSaveButton() {
    $('#butSaveAssociation').trigger('click');
    alert('save button clicked.');
}
试试这个:

function ClickSaveButton() {
    $('#butSaveAssociation').trigger('click');
    alert('save button clicked.');
}

在这种情况下,我只需调用Joe提到的Save Association。但是,以下选择器将为您提供更好的结果,以供将来参考

$('[id$=butSaveAssociation]').click();

如果您不使用母版页,Neals select也会起作用,但我假设您正在使用母版页,因为您试图获取ClientID。

在这种情况下,我只想调用Joe提到的Save Association。但是,以下选择器将为您提供更好的结果,以供将来参考

$('[id$=butSaveAssociation]').click();

如果您不使用母版页,Neals select也会起作用,但我假设您正在使用母版页,因为您试图获取客户ID。

我遇到了一个类似的问题,我通过以下方法解决了这个问题:

function clickButton(element)
{
    if (element !=null)
    {
        if (element.click)
        {
            //IE only
            element.click();
        }
        else
        {
            var evt = document.createEvent("MouseEvents");
            evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
            element.dispatchEvent(evt);
        }
    }
    else
    {
        //oops..        
    }
}
这样称呼:

clickButton(document.getElementById('<%=butSaveAssociation.ClientID%>'));
单击按钮(document.getElementById(“”));
我不知道为什么jquery不能工作

这看起来应该很好,但对我也不起作用:

$('#<%=butSaveAssociation.ClientID %>').click();
$('#')。单击();

这可能与宇宙辐射或潮汐有关;-)

我遇到了一个类似的问题,我通过以下方法解决了这个问题:

function clickButton(element)
{
    if (element !=null)
    {
        if (element.click)
        {
            //IE only
            element.click();
        }
        else
        {
            var evt = document.createEvent("MouseEvents");
            evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
            element.dispatchEvent(evt);
        }
    }
    else
    {
        //oops..        
    }
}
这样称呼:

clickButton(document.getElementById('<%=butSaveAssociation.ClientID%>'));
单击按钮(document.getElementById(“”));
我不知道为什么jquery不能工作

这看起来应该很好,但对我也不起作用:

$('#<%=butSaveAssociation.ClientID %>').click();
$('#')。单击();

这可能与宇宙辐射或潮汐有关;-)

由于他试图获取按钮的clientId,我相信他使用的母版页会损坏id。因此,该选择器不起作用。没错,按钮的实际id为“ctl05_butSaveAssociation”,取决于控件的总数。由于他试图获取按钮的clientId,我相信他使用的母版页会损坏id。因此,该选择器不起作用。没错,按钮的实际id是“ctl05_butSaveAssociation”,取决于控件的总数。为了获得正确的id,我最后做了以下操作:$('a[id$=“butSaveAssociation”]')。attr(“id”);为了获得正确的ID,我最后做了以下操作:$('a[ID$=“butSaveAssociation”]').attr(“ID”);