2014-12-06 3 views
-1

я следующий вид:Форма представления о возврате ложной

<form id="sizeForm" style="float:right;"> 
    <input value="test" name="comments" type="text"> 
    <input class="btn-sm btn-main" value="Save" type="submit"> 
</form> 

который я пытаюсь отправить с помощью Ajax, но форма проводки, вот JQuery:

$("#sizeForm").submit(function() { 
      $.ajax({ 
       type: "POST", 
       url: "/ajax/actions/editSize.php", 
       data: $(this).serialize(), 
       success: function (dataBack) { 
        $('#size2'+dataBack).fadeOut().promise().done(
        function(){ 
         $('#size1'+dataBack).fadeIn(); 
        } 
       ); 
       } 
       }); 
       return false; 
     }); 

Любые идеи, где Я ошибаюсь?

+0

Я хочу, чтобы вы сделали что-то вроде: $ ("# sizeForm"). Submit (function (event) { 'event.preventDefault(); ...' – Banzay

+0

Вы пытались предотвратить дефолт перед '$ .ajax() '->' $ ("# sizeForm"). submit (function (e) {e.preventDefault(); $ .ajax ({...}) '? – Sean

+1

Я только что создал JSFiddle с вашим кодом и он работает, поэтому, возможно, что-то еще не так. http://jsfiddle.net/0rhjo3hh/ Есть ли какие-либо ошибки на консоли JS? –

ответ

0

Возможно, проблема связана с вашим PHP-скриптом (который вы не предоставили), но вот некоторые идеи.

HTML:

<form id="sizeForm" style="float:right;"> 
    <input value="test" name="comments" type="text"> 
    <input class="btn-sm btn-main" value="Save" type="submit"> 
</form> 

JavaScript:

$("#sizeForm").on('submit', function() { 
    $.ajax({ 
     type: "POST", 
     url: "/ajax/actions/editSize.php", 
     data: $(this).serialize(), 
     success: function (dataBack) { 
      $('#size2'+dataBack).fadeOut().promise().done(
       function(){ 
       $('#size1'+dataBack).fadeIn(); 
       } 
      ); 
     } 
    }); 
    return false; 
}); 

В вашем PHP скрипт добавить что-то вроде этого, так что вы знаете, что значение получено. Это отобразится на вкладке сети в инструментах разработчика браузера.

if (!empty($_POST['comments'])) { 
    echo "form submitted!"; 
    exit; 
} 

На вкладке сети, вы должны увидеть запись, как POST editSize.php. Если вы его не видите, форма не была отправлена. Если вы его видите, откройте его и посмотрите на вкладку «post». Это покажет вам, что было отправлено. Затем ваша вкладка «ответ» покажет вам результат из вашего PHP-скрипта.