簡體   English   中英

使用JQuery自提交表單

[英]Using JQuery to self-submit a form

我正在嘗試使用JQuery在DIV的同一頁面上提交表單。 它工作正常,但是每當我提交表單時,它都會重新加載表單腳本。 例如

add-album.php包含表單和PHP邏輯
index.php在DIV標簽內包含include(“ add-album.php”)。

在index.php上時,我將填寫表單詳細信息,然后單擊“提交”,然后將其重定向到add-album.php。 如何防止這種情況發生?

JQUERY代碼:

$(function() {
    $("a.ajax-link").on("click", function(e) {
        e.preventDefault();
        $("#container").load(this.href);
    });
});

PHP _SELF形式:

<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">

提前致謝

表單的操作是當前腳本的地址,因為您將其設置為$_SERVER['PHP_SELF'] 不過,這有點棘手-它將是運行該代碼的腳本,該腳本可能是瀏覽器直接加載的腳本,也可能不是。

這意味着當您手動或使用jQuery提交時,您將發送數據和請求到與$_SERVER['PHP_SELF']相對應的任何內容。 如果您想到達其他地方,則可能希望將表單的動作設置為該“當前腳本”值之外的值。 在這種情況下,add-album.php是調用<?php echo $_SERVER['PHP_SELF'] ?> ,因此您可以在操作中獲得add-album.php。

要了解我的意思,請查看index.php頁面的呈現代碼。 您將看到form標記使用action="add-album.php"或類似的東西呈現。 這就是為什么您提交時會加載add-album.php的原因。 您可能會發現您想要的是將操作設置為靜態值。 您遺漏了一個重要的細節-您想將表單數據發送到哪里?

只是阻止表單提交:

$('form').bind('submit', function(e){
   e.preventDefault();
   return false;
});

暫無
暫無

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

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