2015-03-01 2 views
1

Я запускаю скрипт, основанный на том, что функция Abide Foundation действительна в определенной форме или нет. Когда это действительно по какой-то причине, форма отправляется дважды? Зачем?Форма отправляется дважды с использованием Foundation Abide

У меня есть два отдельных вызова ajax для двух отдельных полей, потому что они оба должны быть проверены на уникальность. Если они оба уникальны, тогда форма должна быть подчинена. Все работает так, как будто предполагается, что форма отправляется дважды.

Я попробовал два варианта .submit() где первый один не позволяют форме представить на все: $("#ClientCreateForm").submit();, так что я нашел предыдущий вопрос и изменил что: $("#ClientCreateForm")[0].submit(); Который сейчас это представить только два раза.

Вот мой код:

$("#ClientCreateForm").on('valid.fndtn.abide', function (event) { 

    var number = $("input[name='number']").val(); 
    var dataString = 'number='+number; 
    $.ajax({ 
     type: "POST", 
     url: "/bamboo/panda/actions/check_number/", 
     data: dataString, 
     success: function(data) { 
      var data = data.trim(); 
      if(data == '1') 
      { 
       var email = $("input[name='email']").val(); 
       var EdataString = 'email='+email; 
       $.ajax({ 
        type: "POST", 
        url: "/bamboo/panda/actions/check_email/", 
        data: EdataString, 
        success: function(Edata) { 
         var Edata = Edata.trim(); 
         if(Edata == '1') 
         { 
          $("#ClientCreateForm")[0].submit(); 
         } 
         else 
         { 
          $(".email-field").attr('class', 'number-field small-3 columns error'); 
          $(".email-field .error").html('Must be a unique email'); 
          return false; 
         } 
        } 
       }); 
      } 
      else 
      { 
       $(".number-field").attr('class', 'number-field small-3 columns error'); 
       $(".number-field .error").html('Must be a unique number'); 
       return false; 
      } 
     } 
    }); 
    event.preventDefault(); 

Код для представления моей формы в HTML и выглядит следующим образом:

<fieldset> 
    <legend>Form Actions</legend> 
    <input type="submit" value="Create Client" name="MyClientSubmit" class="button small success pull-right"> 
</fieldset> 
+0

Что такое код для отправки? –

+0

Проверьте обновленный вопрос. – user2109152

ответ

1

Это явная проблема с пребываю в Фонд.

Изменение $("#ClientCreateForm).on('valid.fndtn.abide', function (event) { на: $("#ClientCreateForm).on('valid', function (event) { решает вопрос, хотя valid устарел.

Это решение было найдено здесь: https://github.com/zurb/foundation/issues/5392

0

я имел такую ​​же проблему следующим во время работы Фонда 5.5.1.

jQuery('form#reg_form').on('valid.fndtn.abide', function() { 

Однако, после простого обновления до версии 5.5.2 сегодня, оно, как представляется, будет очищено. Я случайно вызываю запрос ajax, и Firebug теперь показывает 1 запрос на панели Net.

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