2010-09-20 2 views
2

Может ли кто-нибудь показать мне учебник по использованию jQuery, чтобы отобразить успешную отправку формы без обновления страницы. Что-то подобное происходит в gmail, когда сообщение доставлено, и желтое наложение, которое показывает, что вы доставляете сообщение, а затем исчезаете.jquery form submission

+1

Вы даже попытаться Google? – zerkms

+0

Попробуйте это http://jquery.malsup.com/form/. Это тот, который я ранее использовал в моем проекте – svk

+0

смешные zerkms ... я много искал, но не нашел то, что искал 4r – Ayush

ответ

2

Использование jQuery + JSON сочетание что-то вроде этого:

test.php:

<script type="text/javascript" src="jquery-1.4.2.js"></script> 
<script type="text/javascript" src="jsFile.js"></script> 

<form action='_test.php' method='post' class='ajaxform'> 
<input type='text' name='txt' value='Test Text'> 
<input type='submit' value='submit'> 
</form> 

<div id='testDiv'></div> 

_test.php:

<?php 
     // Code here to deal with your form submitted data. 
     $arr = array('testDiv' => 'Form is successfully submitted.'); 
     echo json_encode($arr); 
?> 

jsFile.js:

jQuery(document).ready(function(){ 

    jQuery('.ajaxform').submit(function() { 

     $.ajax({ 
      url  : $(this).attr('action'), 
      type : $(this).attr('method'), 
      dataType: 'json', 
      data : $(this).serialize(), 
      success : function(data) { 
         for(var id in data) { 
          jQuery('#' + id).html(data[id]); 
         } 
         } 
     }); 

     return false; 
    }); 

}); 




ИЛИ:

Вы можете использовать jQuery Form Plugin

+0

этот выше код работал нормально вчера, но сегодня что-то странное происходит. Вместо того, чтобы добавлять содержимое ** testDiv ** вместе с содержимым страницы, теперь он переходит на test.php и показывает {testdiv => «доставлен»} на пустой странице. – Ayush

+0

@Ayush: Что вы изменили во вчерашнем коде. Он показывает данные JSON ('{testdiv =>« доставлен »}') на пустой странице из-за следующих возможных причин: ** 1. ** Может быть, ваша функция jQuery не вызывается, потому что вы удалили 'class = ' ajaxform'' из тега 'form', который используется для захвата события отправки в код jQuery. ** 2. ** Возможно, вы изменили селектор ('.ajaxform') в' jQuery ('. Ajaxform'). Submit (.....) '. ** 3. ** Может быть, код jQuery/файл не включен правильно. – NAVEED

+0

когда я проверяю с помощью поджигатель он показывает мне - POST http://174.132.194.155/~kunal17/devbuzzr/wp-content/themes/street/sms.php \t 404 Not Found 1.26s \t jquery.min.js (строка 130) Я проверил, что адрес sms.php верен – Ayush