سؤال

ولدي نموذج بسيط. وأن حصل حقل واحد وزر الإرسال. I إخفاء زر الإرسال. يتم تشغيل زر الإرسال في الواقع مع مرساة العلامة الذي يستدعي أسلوب جافا سكريبت أن يستخدم مسج للحصول على عنصر وتنفيذ بنقرة واحدة (). هذا يعمل بشكل جيد، وظائف شكل وسجل هو مكتوب بنجاح في DB.

وحتى الآن أضفت xVal للمصادقة. أحاول أن أضيف في التحقق من صحة بسيط جانب العميل.

وأنها لا تعمل عند النقر فوق علامة مرساة. ومع ذلك، إذا كنت إلغاء إخفاء زر الإرسال ومحاولة نشر النموذج مع أنه بدلا من استخدام العلامة مرساة هذا يستدعي الأسلوب شبيبة، فإنه لا عمل. وذلك أساسا أنا في محاولة لمعرفة لماذا لا يعمل عند استخدام طريقة شبيبة لتحريك النقر على زر.

وأي أفكار غراندي؟ شكرا جزيلا!

وهيريس بعض رمز ...

<div id="manufacturerButtons" class="moduleRow">
            <%= Html.ActionImage(Url.Content("~/Content/Icons/bullet_go_back.png"), "Back To Admin", "Admin", "Admin")%>
            | <a class="actionImage" href="javascript: addManufacturer();">
                <img border="0" src="<%= Url.Content("~/Content/Icons/accept.png")%>">&nbsp;<span>Add
                    Manufacturer </span></a>
        </div>
        <div class="moduleContent">
            <div id="manufacturerContainer">
                <div class="moduleRow">
                    <h3>
                        New Manufacturer</h3>
                </div>
                <div class="moduleRow">
                    <% Html.BeginForm("NewManufacturer", "Admin", FormMethod.Post); %>
                    <table class="noBorder" border="0" cellpadding="0" cellspacing="0">
                        <tr>
                            <td style="width: 125px">
                               <h6>Name:</h6>
                            </td>
                            <td>
                                <%= Html.TextBox("Name") %>
                            </td>
                        </tr>
                        <tr style="display: none;">
                            <td>
                                &nbsp;
                            </td>
                            <td>
                                <input type="submit" id="btnAdd" name="btnAdd" />
                            </td>
                        </tr>
                    </table>
                    <% Html.EndForm(); %>
                    <%= Html.ClientSideValidation<EquipmentManufacturer>() %>
                </div>

            </div>

وجافا سكريبت:

function addManufacturer() {
    //$('form').submit(); // doesnt work when trying to validate either
    $('#btnAdd').click();
    return true;
}
هل كانت مفيدة؟

المحلول

ما عليك القيام به هو تحريك التحقق من صحة مسج على النموذج الخاص بك. جرب:

$('form').validate();

لإرسال النموذج على التحقق من صحة ناجحة، في محاولة:

$('form').validate({ submitHandler: function(form) { form.submit(); } });

لاحظ أن "شكل" ينبغي أن يكون مسج محدد صالحة للنموذج الخاص بك ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top