簡體   English   中英

在使用javascript或jquery提交表單時需要幫助

[英]Need help with a form submission using javascript or 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,請點擊疊加層,以通常的操作值“ Confirm”提交表單?

謝謝你的幫助

.submit()方法僅適用於<form>元素。 您可以在表單中添加一個ID:

<form id="myForm" ...>

當您使用HtmlHelper創建它時,可以通過以下方法實現:

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

然后在其上調用Submit方法( 在此處記錄 ):

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

或者,您可以通過找到按鈕最接近的祖先表單元素來轉到按鈕的表單:

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

closest方法記錄在這里

submit是form元素的事件處理程序。 這應該工作:

$('#btnConfirm')[0].form.submit()
//All form elements have a property called "form" which refers to the parent form

如果您在表單上附加了標識符,請使用以下代碼:

$('#formId').submit();               //<form id="formId" ...
$('form[name="formName"]').submit(); //<form name="formName" ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM