2014-11-13 4 views
0

У меня проблема Я проверяю текстовое поле (нажмите кнопку «Отправить»), и если значение истинно, мне нужно использовать диалог jQuery для получения других разрешений (введите другой код). Но если пользователь закрывает диалоговое окно и снова нажимает кнопку отправки, тогда появляется диалоговое окно (это хорошо), вводящий код в форму диалога и отправку. Затем у меня есть две записи (дублированные) в моей базе данных. Если запирающего представления диалогового окна пользователя в 3 раза, то я 3 dublicated записи:Запись записана в БД после проверки jQuery

$('#f_button').click(function(){ 

// validation 

{ 

// if true 
$("#dialog").dialog("open"); 
$("#test_button").click(function() { 

    $.ajax({     // validating text field in dialog 
     type: 'POST', 
     url: file.php', 

     data: $('#form_name).serialize(), 
     success: function validate(data1) { 
      if (data1 == 1) { 

       $("#text_field").css('background-color', '#00FF00'); 
       $('#another_form')[0].submit(); 

} else {  
       $("#text_field").css('background-color', '#FF0000'); 

          } 
     } 
    }) 
}); 
+1

Это потому, что вы отправляете свой аякс каждый раз, когда нажимаете кнопку, поэтому, если вы показываете им поле 3 раза, и они нажимают кнопку 3 раза, Вы получите три записи. – Styphon

+0

@Styphon No. Если сыворотка нажимает 3 раза, тогда штраф, потому что это разные записи. но проблема в том, что если пользователи закрывают диалог X, то у меня есть dublicates – Klapsius

ответ

1

вы можете установить AJAX запрос пост после завершения всех ваших валидаций не ставьте его на кнопку отправки поместить его диалогового окна conformation button, чтобы вы не отправляли запрос, и вы можете легко справиться с этим.

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