javascript - 需要使用 javascript 或 jquery 提交表单的帮助

标签 javascript jquery

我有一个看起来像这样的表单

@using (Html.BeginForm("ActionMethod","MyController FormMethod.Post)) {
 <button type="submit" value="Generate" name="action" class="button" id="btnGenerate">Generate Form</button>
 <button type="submit" value="Confirm" name="action" class="button" id="btnConfirm">Confirm</button>
}

我的 JavaScript 看起来像这样

 <script type="text/javascript">
     $(function () {

         var genOverlay = jQuery('<div id="overlay"><div class="innerblock box-shadow"><p>Please remember to print the registration form and sign both copies.</p><div><a id="btnClose" href="#" class="button">Close</a></div></div>');

         var confirmOverlay = jQuery('<div id="overlay"><div class="innerblock box-shadow"><p>Changes can not be made to this record once it has been confirmed. Are you sure you would like to confirm this form?</p><div> <a id="btnConfirmConfirmation" href="#" class="button">Confirm</a> <a id="btnCancel" href="#" class="button button-red">Cancel</a></div></div>');

         $('#btnGenerate').click(function () {
             genOverlay.appendTo(document.body);
             return false;
         });

         $('#btnConfirm').click(function () {
             confirmOverlay.appendTo(document.body);
             return false;
         });


         $('#btnConfirmConfirmation').live('click', function () {
             // Need help on submitting the form with the input button value of btnConfirm.

             // $('#btnConfirm').submit(); does not work
             // return true;
         });

         $('#btnClose').live('click', function () {
             genOverlay.remove();
         });

         $('#btnCancel').live('click', function () {
             confirmOverlay.remove();
         });
     });
</script>

我将如何实现 btnConfirmConfirmation 单击叠加层以正常提交表单,操作值为“确认”?

感谢您的帮助

最佳答案

.submit()该方法仅适用于<form>元素。您可以在表单中添加一个 ID:

<form id="myForm" ...>

当您使用 HtmlHelper 来创建它时,可以通过以下方式实现:

@using (Html.BeginForm("ActionMethod","MyController", FormMethod.Post, new { id = "myForm" })) { ...

然后调用提交方法(记录为 here ):

$('#btnConfirmConfirmation').live('click', function () {
    $('#myForm').submit();
});

或者您可以通过查找按钮最接近的祖先表单元素来转到按钮的表单:

$('#btnConfirmConfirmation').live('click', function () {
    $(this).closest('form').submit();
});

closest方法已记录here .

关于javascript - 需要使用 javascript 或 jquery 提交表单的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7487765/

相关文章:

javascript - 如何使用 javascript 在 asp 中重置从 regularExpressionValidator 生成的此范围的文本

javascript - 嵌套的forEach循环将对象添加到现有对象javascript

javascript - 从 ember.js 中的 Controller 访问模型

jquery - 使用 jQuery 切换无序列表项

javascript - 在文本框中显示增值税值

javascript - 循环浏览 jQuery 灯箱照片

javascript - ajax 正在加载页面以返回 POST 请求

javascript - 如果没有值则设置 select 的默认值

javascript - jQuery 停止按钮回发

javascript - 当我单击 anchor 按钮时显示一个 div 并隐藏其他