首页 > 解决方案 > 在 Kendo Script Tag 中提交表单

问题描述

我在 .cshtml 文件中有以下代码,我正在尝试导航到帐户控制器的 HttpPost索引操作方法,单击锚标记(在最后一个表数据部分内)。但由于某种原因,我无法导航到 HttpPost Index Action 方法,但是当包含在 script tag 之外时,相同的代码可以正常工作。

   <script id="ds-list-tpl" type="text/x-kendo-template">
                        <tr>                                
                            <td data-label="Online Store">#: Name #</td>
                            <td data-label="Phone">#: phone #</td>
                            <td data-label="Connect">
                                <span style="display:none;">#: Id #</span>
                                <form class="hl-form" asp-controller="Account" asp-action="Index" id="introduce-me-form" method="post">
                                    <a href="@Url.Action("Index", "Account")" data-form-method="post" id="introduce-me-button" class="btn-primary">@Localizer["Connect"]</a>
                                </form>
                            </td>
                        </tr>
                    </script>
    
    And below is the JS code I have written to submit the form 
    
    <script>
        $('a[data-form-method='post']').click(function (event) {
            event.preventDefault();
            $('#introduce-me-button').attr('disabled', 'disabled');
            var element = $(this);
            var action = element.attr('href');
            element.closest('form').each(function () {
                var form = $(this);
                form.attr('action', action);
                form.submit();
            });
        });
    </script>
    
    I am new to Kendo , could somebody please help me on this .
    Thank you 

标签: javascriptjquerymodel-view-controllerkendo-uiform-submit

解决方案


尝试将您的事件绑定更改为:

$(document).on('click', 'a[data-form-method="post"]', function (event) {

您的表格可能在事件绑定呈现。但是当您将事件直接绑定到尚未a呈现的标签时,不会绑定任何事件。当您将事件委托绑定到for any时,这会考虑到任何已经存在的内容,或者将来会在文档中创建。documentaa


推荐阅读