0

この HTML フォームをfile-001.phpとして保存しました。

<form action="file-001.php" method="post" id="select-block" class="general-form">
<input class="clearme" name="Title" value="Title" />
<input type="submit" class="submit-btn" value="SAVE" />
</form>

このフォーム プロセスは、同じファイルで変数を送信しました。しかし、このファイルfile-001.phpは実際には jQuery ロードによって呼び出され、タブ ボックスとして配置されます。

$('a.manage-content-link').click(function (e) {
    var self = $(this),
        file = self.siblings('input[name="block-type"]').val();
    file = file.substring(file.length - 3);
    self.next(".manage-content-wrap").find(".manage-content").load("file-001.php");
    e.preventDefault();
});

しかし、「送信」ボタンをクリックすると、このフォームはhttp://example.com/file-001.phpという単一のページにリダイレクトされます

「アクション」の結果を同じタブボックスの内側に作成する方法。ボックスからリダイレクトされませんか?

4

2 に答える 2

1

ajax経由でフォームを送信できます

最初のページ読み込みコードが実行されるとき、フォームはページに存在しないため、on()メソッドを使用して将来のフォームを考慮します。

$(document).on('submit', '#select-block', function() {

    var data = $(this).serialize();
    var actionUrl = $(this).attr('action');

    $.post(actionUrl, data, function(response) {
        /* do something when form submittal completed*/            
    })

    return false; /* prevent browser default submit and redirect*/
});

API リファレンス:

http://api.jquery.com/jQuery.post/

http://api.jquery.com/on/

于 2012-10-27T10:35:02.943 に答える
1

これは、AJAX を使用して実現できます。

あなたができる5つの方法:

  1. load(): リモート URL から HTML を読み込み、DOM に挿入する
  2. $.getJSON(): リモートの場所から JSON を取得する
  3. $.getScript(): リモートの場所から JavaScript を読み込む
  4. $.get(): GET リクエストを作成する
  5. $.post(): POST リクエストを行う

POST を使用した例:

//  $.post()  
    $("#post").click(function(){  
        $("#result").html(ajax_load);  
        $.post(  
            loadUrl,  
            {language: "php", version: 5},  
            function(responseText){  
                $("#result").html(responseText);  
            },  
            "html"  
        );  
    });  

GET の使用例:

//  $.get()  
    $("#get").click(function(){  
        $("#result").html(ajax_load);  
        $.get(  
            loadUrl,  
            {language: "php", version: 5},  
            function(responseText){  
                $("#result").html(responseText);  
            },  
            "html"  
        );  
    });  

Div を使用してサーバー側のコンテンツをロードしました。

「file-001.php は実際には jQuery ロードによって呼び出され、タブ ボックスとして配置されます」 - タブ内で div を使用します。

于 2012-10-27T10:36:58.310 に答える