2013-04-10 2 views
0

У меня проблема с небольшой формой javascript, которая отлично подает заявку, приносит сообщение об успешном завершении, но не может сбросить форму. Данные остаются видимыми, пока вы не обновите страницу вручную.Javascript issue re form reset

Код:

jQuery(document).ready(function(){ 

    $('#contactform').submit(function(){ 

     var action = $(this).attr('action'); 

     $("#message").slideUp(750,function() { 
     $('#message').hide(); 

     $('#submit') 
      .after('<img src="images/ajax-loader.gif" class="loader" />') 
      .attr('disabled','disabled'); 

     $.post(action, { 
      name: $('#name').val(), 
      email: $('#email').val(), 
      phone: $('#phone').val(), 
      subject: $('#subject').val(), 
      comments: $('#comments').val(), 
      verify: $('#verify').val() 
     }, 
      function(data){ 
       document.getElementById('message').innerHTML = data; 
       $('#message').slideDown('slow'); 
       $('#contactform img.loader').fadeOut('slow',function(){$(this).remove()}); 
       $('#submit').removeAttr('disabled'); 
       if(data.match('success') != null); 

      } 
     ); 

     }); 

     return false; 

    }); 

}); 

Я задавался вопросом, могу ли я добавить в команду сброса, но поскольку мой Java ограничен, я не уверен, где? Был бы оценен любой указатель или совет. Заранее спасибо.

+1

Как вы пытаетесь сбросить форму? – NullPointerException

+0

http://stackoverflow.com/questions/680241/resetting-a-multi-stage-form-with-jquery – NullPointerException

+0

Спасибо за ответ. У меня есть файл contact.php, js form.css и соответствующий код в index.html. Форма отлично работает, отправка штрафа, но появляются данные, которые вы заполняете, отправляете, сообщение об успешном завершении, перекатываете область - сообщение исчезает только для отображения данных, введенных вами в форму. Не освобождаются при отправке. – user2267855

ответ

2

Вы можете добавить это внутри if (data.match...) следующим образом:

if (data.match("success") != null){ 
    $('#contactform')[0].reset(); 
} 
+0

Спасибо ... пропустил это полностью! Попробуй сейчас. Очень ценю помощь. – user2267855

+0

Привет. Просто попробовал это предложение, но я боюсь, что это не сработало. Может ли быть что-то еще добавить? Может быть, в файле contact.php или в коде index.html вы думаете? – user2267855

+0

Вы хотите, чтобы поля заполнялись при обновлении? Извините, но я не совсем понимаю, о чем вы спрашиваете. – tomor

0

Вам необходимо вручную очистить/сбросить форму. Поскольку вы используете JQuery для отправки запроса, это не похоже на действие формы, которое изменяет местоположение вашего браузера.

Просто позвоните в СБРОС, как только данные будут успешно отправлены.

Более подробную информацию о том, что смотрите: http://www.w3schools.com/jsref/met_form_reset.asp

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

function resetFormValues() 
{ 
$('#name').val('name'); 
$('#email').val('email'); 
etc.. 
} 

и вызвать resetFormValues ​​(); из вашего кода, такого как:

if (data.match("success") != null){ 
    resetFormValues(); 
} 
+0

http://w3fools.com/ – maba

+0

Спасибо за ответ. Посмотрите. – user2267855

+0

Посмотрел статью W3 ... все еще немного запутался относительно того, какую строку добавить где. Должен ли я добавить что-нибудь в файлы contact.php, js form.css, а также файл index.html? – user2267855