簡體   English   中英

AJAX請求未提交我的表格

[英]AJAX request not submitting my form

我有一個用於提交表單的ajax請求。

$('#position'+i).change(function () { 
        var data = $(this).attr('value');
        var form = $('#pages_form');
        $.ajax({
            type: "POST",
            url: form.attr('action'),
            data: data,
            succes: alert('Postion has been saved')
        });
    }); 

它似乎不想使用我硬編碼的url天氣或使用form action屬性。 我需要做什么才能提交此表格。

這很奇怪,因為如果我按Enter鍵,它將提交表單,但會繞過ajax請求。

var form = $('pages_form');

這很不好,據我所知,這是一種什么樣的選擇器,沒有pages_from標記。 它應該是

var form = $('#pages_form');

如果其ID。

如果上課的話

 var form = $('.pages_form');

如果您成功拼錯了電話,那也不是回叫的工作方式。 您將函數名稱或匿名函數傳遞給成功方法。

工作版本:

$('#position'+i).change(function () { 
        var data = $(this).attr('value');
        var form = $('#pages_form'); // Is this an id?
        $.ajax({
            type: "POST",
            url: form.attr('action'),
            data: data,
            success: function () {
               alert('Postion has been saved');
            }
        });
    }); 

您的問題很可能與用於獲取表格的選擇器有關:

var form = $('pages_form');

沒有名稱為pages_form html標簽 ;)

同樣,您指定回調的方式顯然是錯誤的。

一些更正:

var form = $('pages_form');

不是指有效的元素。 如果“ pages_form”是表單的ID,則需要使用以下代碼:

var form = $('#pages_form');

另外,您拼寫錯誤的“成功”,並且它沒有所需的格式。 將該行更改為

success: function() {alert('Postion has been saved');}

我認為在這些問題解決之后,您的代碼應該可以工作了。 :)

好的,盡管看起來很明顯,但仍需要進行一些驗證。

  1. 確保我包含一個值,並且有一個帶有相應ID的輸入元素,因此,如果我等於1,則您有一個ID為“ position1”的輸入元素。
  2. 確保您的表單具有正確設置的正確的動作屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM