2015-08-02 3 views
0

Когда будет отправлена ​​форма, предупреждение Ура! срабатывает, когда проверка правильна, но форма фактически не отправляется. Если я заменю форму на @using (Html.BeginForm()), это значит, что проверка кендо не работает?форма не отправляет после подтверждения

<div class="form-horizontal"> 
    <h2 class="ra-well-title">Your Details</h2> 


    <form id="ticketsForm"> 
     <div class="form-horizontal form-widgets col-sm-4"> 
      <div class="form-group"> 
       <label class="control-label col-sm-4" for="fname">First Name</label> 
       <div class="col-sm-8 col-md-6"> 
        @Html.TextBoxFor(m => m.firstName, new { @class = "input k-textbox", placeholder = "Enter Firstname", required = "required", validationmessage = "Required", id = "pFirstName", onchange = "OnChangeEventpFirstName()" }) 
       </div> 


      </div> 

      <div class="form-group"> 
       <label class="control-label col-sm-4" for="name">Last Name</label> 
       <div class="col-sm-8 col-md-6"> 
        @(Html.Kendo().TextBox() 
          .Name("surName") 
         .HtmlAttributes(new { placeholder = "Last Name", required = "required", validationmessage = "Enter Lastname", id = "pSurName", onchange = "OnChangeEventpSurName()" }) 
        ) 
       </div> 


      </div> 


      <input type="submit" value="Send Booking" class="btn k-button" onclick="return confirm('Ready to send Booking?')" /> 
    </form> 


    <script> 
     $(function() { 
      var validator = $("#ticketsForm").kendoValidator().data("kendoValidator"); 
      var status = $(".status"); 

      $("form").submit(function (event) { 
       event.preventDefault(); 
       if (validator.validate()) { 
        alert("Hooray! Your tickets has been booked!") 
         .removeClass("invalid") 
         .addClass("valid"); 
       } else { 
        alert("Oops! There is invalid data in the form.") 
         .removeClass("valid") 
         .addClass("invalid"); 
       } 
      }); 
     }); 

    </script> 


</div> 
+0

когда htmlbegin() вы тоже включили идентификатор? – MstfAsan

ответ

1

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

Что касается того, почему ваша проверка не срабатывает при использовании BeginForm, скорее всего идентификатор формы был иным или отсутствовал, поэтому JavaScript не привязан к форме.

Смежные вопросы