JQuery FormWizard последний шаг не отображается - PullRequest
0 голосов
/ 08 марта 2011

есть ли причина, по которой мой последний шаг подтверждения вызова не отображается в мастере форм?

        <form id="wizardForm" action="" method="post">
        <div id="fieldWrapper">

            <div class="step" id="first">
                <span class="font_normal_07em_black step_title">Site Information</span><br />
                <label for="Title">Title</label>
                <input id="Title" class="input_field_12em required" type="text" />
                <label for="Description">Description</label>
                <input id="Description" class="input_field_12em required" type="text" />
                <label for="UrlName">Url Name</label>
            </div>

            <div class="step" id="ownerInfo">
                <span class="font_normal_07em_black step_title">Site Owner</span>
                <label for="PrimaryOwner">Primary Owner</label>
                <input id="PrimaryOwner" class="input_field_12em required" type="text" />
                <label for="SecondaryOwner">Secondary Owner (nt id)</label>
                <input id="SecondaryOwner" class="input_field_12em required" type="text" />
            </div>

            <div class="step" id="siteAccess">
                <span class="font_normal_07em_black step_title">Site Access</span>
                <label for="I">Public or private info <br />
                Will private information be stored in this space?</label>
                <input id="iYes" name="I" type="radio" value="Yes" />Yes<br />
                <input id="iNo" name="I" type="radio" value="No" />No
                <hr />
                <label for="T">Will T Information be stored on this space?</label>
                <input id="TYes" name="T" type="radio" value="Yes" onclick="ToggleT()" />Yes<br />
                <input id="TNo" name="T" type="radio" value="No" onclick="ToggleT()" />No
                <div id="tAcknowledgeContainer" class="hidden_contain">
                    <input type="checkbox" id="tCheckbox" /><span class="checkbox_label">I acknowledge </span>
                </div>
                <hr />
                <label for="C">Will space need to Control content?</label>
                <input id="cYes" name="C" type="radio" value="Yes" onclick="ToggleC()" />Yes<br />
                <input id="cNo" name="C" type="radio" value="No" onclick="ToggleC()" />No
                <div id="cAcknowledgeContainer" class="hidden_contain">
                    <input type="checkbox" id="cCheckbox" />
                    <span class="checkbox_label">I agree </span>
                </div>
                <hr />
                <label for="F">Is Other User Access Required?</label>
                <input id="FYes" name="F" type="radio" value="Yes" onclick="ToggleF()" />Yes<br />
                <input id="FNo" name="F" type="radio" value="No" onclick="ToggleF()" />No
                <div id="fPleaseNoteContainer" class="hidden_contain">
                    <span class="please_note"><strong>Please Note</strong><br /> 
                    </span>
                </div>
                <hr />
                <label for="N">Non Employee(s)?</label>
                <input id="NYes" name="N" type="radio" value="Yes" onclick="ToggleN()" />Yes<br />
                <input id="NNo" name="N" type="radio" value="No" onclick="ToggleN()" />No
                <div id="nAcknowledgeContainer" class="hidden_contain">
                    <input type="checkbox" id="nCheckbox" />
                    <span class="checkbox_label">
                        I agree 
                    </span>
                </div>
            </div>

            <div class="step" id="siteSharing">
                <span class="font_normal_07em_black step_title">Site Sharing</span>
                        <div class="side_by_side_container">
                            <div class="left_container">
                                <input id="SharingRestrictionN2S" name="SharingRestriction" type="radio" value="N2S" />
                                <span class="generic_label">Public</span><br />
                            </div>
                            <div class="right_container">
                                <input id="SharingRestrictionN2K" name="SharingRestriction" type="radio" value="N2K" />
                                <span class="generic_label">Private</span><br />
                            </div>
                        </div>
            </div>

            <div class="step" id="agreement">
                <span class="font_normal_07em_black step_title">Agreements</span>
                <div>
                    <br />
                    <div>Business Agreement</div>
                    <iframe id="bFrame" class="generic_iframe" src="<%= ConfigurationManager.AppSettings["businessUrl"] %>"></iframe>
                    <br /><br />
                    <hr />
                    <br />
                    <div>Service Agreement</div>
                    <iframe id="sFrame" class="generic_iframe" src="<%= ConfigurationManager.AppSettings["sericeUrl"] %>"></iframe>
                    <br /><br />
                    <hr />
                    <br />
                    I agree 
                </div>
                <br />
                <input id="sbAggrement" class="required" type="checkbox" />
                <span class="checkbox_label">
                    i agree
                </span>
            </div>

            <div id="final" class="step submit_step">
                <span class="font_normal_07em_black step_title">Confirmation</span>
                <input type="text" name="temp1" />
            </div>
        </div>
        <br />

        <hr class="form_divider" />

        <div id="wizardNavigation">
            <input class="navigation_button" value="Back" type="reset" />
            <input class="navigation_button" value="Next" type="submit" />
        </div>
    </form>

похоже, что отправляется на предыдущем шаге и даже не выполняет этот шаг. я думал, что вы должны были включить класс step и submit_step, потому что когда я удаляю «step», он не добавляет это как еще один шаг мастера. если отображается в нижней части каждого шага.

также в отношении окончательной отправки. Кто-нибудь делал что-либо, когда он вызывал ajax для выполнения отправки, чтобы в случае ошибки пользователь не покинул страницу и все еще имел все свои данные для повторной попытки?

я использую c #, mvc2 и тестирую с браузером Firefox

Ответы [ 3 ]

1 голос
/ 23 марта 2012

Когда заголовок кнопки Wizard будет следующим, он запустит

$("#form1").bind("step_shown", function (event, data) {
      if (data.currentStep == "Div0") {
          //Code that needs to be implemented in the step 0
      }
      if (data.currentStep == "Div1") {
          //Code that needs to be implemented in the step 1
      }
});

Но когда заголовок кнопки Wizard установлен на кнопку Submit, последний шаг в Wizard будет запущен по методу, указанному ниже

$("#form1").formwizard({
   formPluginEnabled: true,
   validationEnabled: true,
   focusFirstInput: true,
   formOptions: {
       success: function (data) {
           //Last step completed message 
       },
       beforeSubmit: function (data) {
           //Code that need to be implemented for the submit method 
       },
       dataType: 'json',
       resetForm: true
       }});

Пожалуйста, дайте мне знать, это решило вашу проблему. :) Кодирование :)

1 голос
/ 08 марта 2011

add onsubmit = "return false;"чтобы сделать так, чтобы вы могли манипулировать почтовыми данными

и в jquery:

$("form").submit(function(){
        $.post('postFile....',$(this).serialize(),function(data){
            console.log(data);
            //do something with data
        })
    })
0 голосов
/ 09 марта 2011

Я нашел проблему.кажется, что обязательный класс на флажке перед последним этапом подтверждения выдавал ошибку javascript.

                <input id="sbAggrement" class="required" type="checkbox" />

я удалил требуемый класс, и при нажатии следующей кнопки отображается последний шаг.Теперь перейдем к следующей проблеме: почему требуемый класс на флажке выдает ошибку javascript .......

вместо того, чтобы иметь требуемый класс на входе, я добавил флажок к validationOptions иотлично работает сейчас

...