0

ajax と php を使用してフォームを作成しました。メイン ページから、ユーザーはクライアントの詳細を編集するか、新しいクライアントを追加できます。ユーザーがクライアントの編集ボタンをクリックすると、ajax を使用してフォームが読み込まれ、ID を使用してクライアントの詳細が挿入されます。新しいクライアントを追加する場合、ID は送信されません。私が知りたいのは、クライアントを追加するための「送信」ボタンと、クライアントを編集するための「更新」ボタンを変更する方法です。フォーム マークアップは両方の段階で同じですが、2 つを区別するために使用される jquery を次に示します。

追加:

$.ajax({
    dataType: "html",
    url: "ajax.php?action=client_form",
    beforeSend: function() {
        $('.error, .success, .notice').remove();
    },
    success: function(html) {
        $('#users-contain_t').html(html);
    }
});

編集部分については、次のように関数を作成しました。

function editClient(client_id){

    $('#users-contain_t').load('ajax.php?action=client_form&client_id='+client_id);

};

編集ボタンのマークアップは次のとおりです。

<button class="editClient" type="button" onclick="editClient('.$client['client_id']. ')">Edit Client</button>

これにより、フォームの詳細が表示されます。私が知りたいのは、phpを使用して、編集時と新しいレコードの追加時に、同じフォームに2つの異なるボタンをロードする方法です?

2 つのボタンのマークアップは次のようになります。

<button id="updateList" type="button" >Update</button>
<button id="addClient" type="button" >Submit</button>
4

2 に答える 2

1

更新リストの style="display:none" のように、フォームのデフォルトの表示スタイルを設定できます

ただし、 editClient 関数を呼び出すときに、 show() hide() 効果を両方のボタンに追加できます

お気に入り

$('#updateList').show();
$('#addClient').hide();

このようなフォームのデフォルト

<button id="updateList" type="button" style="display:none;" >Update</button>
<button id="addClient" type="button" >Submit</button>
于 2013-04-11T12:49:33.343 に答える
0

追加と更新用の共通ボタンを配置すると、次のコードの php で差別化できます。メールなどのクライアントの詳細に一意の列がある場合

if(isset($_POST['save']))
{
//get all client email in your table
//check if the email already exist
//if (yes) 
//update query exected
//else
//insert
}

「保存」はあなたのボタン名です。これがあなたが本当に望んでいることを願っています!

于 2013-04-11T12:47:45.600 に答える