1

作成と編集の 2 つの異なるシナリオで単一のフォームを使用しています。

私は次のようなことをします

<?php
if($status == 'new')
    echo '<button id="btnSubmit" type="submit" class="btn">Submit!</button>';
else
    echo '<button id="btnEdit" type="submit" class="btn">Edit!</button>';
?>

私のJavaScript側で達成したいのは、フォームを検証し、押されたボタンに応じて正しいWebサービスを呼び出すことです。ここにある jQuery Validation Plugin を使用しています

Javascript

$('#myForm').validate({
    submitHandler: function(data) {
      $.ajax({
        url: "service1.php"
        ...... other AJAX stuff ..........
      });
    }
}

$('#btnSubmit').click(function() {
    // call service1.php
});

$('#btnEdit').click(function() {
    // call service2.php
});
4

2 に答える 2

0

Marikani の提案に基づいて、以下を実装しましたが、動作します。JavascriptとPHPを使用して同様の問題を抱えている人に役立つことを願っています.

私のフォーム ファイルでは、非表示の div を使用してtype (new or edit). <input type="hidden" id="type" value="<?php echo $type; ?>" />

その後、JavaScript ファイルでこの値を取得し、それぞれの ajax を呼び出す前に確認します。

$('#resForm').validate({
    submitHandler: function(form) {
        var type = $('#type').val();

        if(type == 'new') {
            $.ajax({
                url: "service1.php"
                .... other AJAX stuff
            });
        } else { // type is edit
            $.ajax({
                url: "service2.php"
                .... other AJAX stuff
            });
        }
    }
});
于 2013-10-08T02:29:42.403 に答える