0

I am using the following code to edit records in a database. It works great for doing an edit. I need to expand the functionality to include the ability to add or delete functions also.

On my form I use three separate buttons to select whether to Add, Edit, or Delete.

How can I expand the script to determine which of the buttons was clicked?

// Action to run on submit to add/edit/delete record from database
var request; // variable to hold request

// bind to the submit event of our form
$("#form_edit").submit(function(event){
    // abort any pending request
    if (request) {
        request.abort();
    }

    // setup local variables
    var $form = $(this);

    // select and cache all the fields
    var $inputs = $form.find("input, select, textarea");

    // serialize the data in the form
    var serializedData = $form.serialize();

    // disable the inputs for the duration of the ajax request
    $inputs.prop("disabled", true);

    // define constants to be passed as parameters
    var updateType = "edt"; // This needs to be changed to 'add' or 'del'
    var tableName  = "phasecodes";
    var indexName  = "phase_ID";
    var recNumber  = phase_ID.value;

    // Build string for query input
    var type   = "?type="  + updateType;
    var table  = "&table=" + tableName;
    var index  = "&index=" + indexName;
    var rec = "&rec="   + recNumber;
    var getS   = type + table + index + rec;

    // execute request to update database
    request = $.ajax({
        url: "files_json/update_Record.php" + getS,
        type: "post",
        data: serializedData
    });

    // callback handler called on success
    request.done(function (response, textStatus, jqXHR) {
        console.log("Data record updated!"); // log success message to the console
    });

    // callback handler called on failure
    request.fail(function (jqXHR, textStatus, errorThrown) {
        console.error( "The following error occured: " + textStatus, errorThrown ); // log the error to the console
    });

    // callback handler called regardless if the request failed or succeeded
    request.always(function () {
        $inputs.prop("disabled", false); // reenable the inputs
    });

    // prevent default posting of form
    event.preventDefault();
}); // End of submit function
jdadwilson
  • 17
  • 4

1 Answers1

0

Assuming that the three buttons within the form are of type 'submit...' You can see this post

Something like this should return the value of the clicked button:

 var val = $("input[type=submit][clicked=true]").val();
Community
  • 1
  • 1
trad
  • 7,581
  • 4
  • 20
  • 17