прекратить действие POST, в jquery с двумя ('if') обязательно. для проверки моей формы - PullRequest
1 голос
/ 25 марта 2012

У меня есть событие клика в прямом эфире.

Быть необходимым. проверить форму у меня есть функция расширения. ValidatorForm. и селектор длины: $ ('# uploaded'). это для остановки Post Json. Но пост выполнен, я нуждаюсь в помощи. потому что я живое событие. когда у меня есть элементы, генерирующие.

$('#regist').live("click",function(){   

  if(validateForm($('#fom_id'))){

    if($('#uploaded').text().length){
        $('#uploaded').removeClass('error');
        $('#form_id').append('<input type="text" class="hidden" name="email" value=" ' +  user.email  +'">');
        $('#form_id').append('<input type="text" class="hidden" name="upload" value=" ' +  upload  +'">');
        $('.hidden').hide();
        $.post(guide.php, {data: JSON.stringify($('#form_id').serializeJSON()), action: 'write'}, function(data){
            switch(data.status){
                case 1:
                    $.jGrowl(info_id,{header: 'save'});
                    $('#actions').dialog('close');
                    break
                case 1002:
                    console.log('error action');
            }
        },'json');

    }
    else{

        $('#uploaded').text('alert text').addClass('error');
    }
  }
  else{
    console.log('an error');
  }
});

добавление и изменение текста необходимо для функциональной формы.

я помогаю ...

Ответы [ 2 ]

0 голосов
/ 26 марта 2012

$.post - это сокращение для $.ajax, которое поддерживает только обратный вызов success.Если вам нужно добавить обратный вызов для ошибки, используйте вместо этого:

$.ajax({
    type: "POST",
    url: guide.php,
    data: {data: JSON.stringify($('#form_id').serializeJSON()), action: 'write'},
    success:function(data){
        $.jGrowl(info_id,{header: 'save'});
        $('#actions').dialog('close');
    },
    error:function(data){
        console.log('error action');
    },
    dataType:'json'
});
0 голосов
/ 26 марта 2012

Не совсем понимаю, о чем вы спрашиваете, но у вас есть ошибка здесь, отсутствует r:

if(validateForm($('#fom_id'))) // fom???

Вам также не хватает ; после первого break и пропущенного break на втором case. Затем я бы кешировал $('#form_id'), так как вы используете его много раз.

...