Еще одно возможное решение заключается в добавлении скрытого поля в вашу форму:
<input type="hidden" id="btaction"/>
Затем в функции готовности добавьте функции для записи того, какая клавиша была нажата:
$('form#myForm #btnSubmit').click(function() {
$('form#myForm #btaction').val(0);
});
$('form#myForm #btnSubmitAndSend').click(function() {
$('form#myForm #btaction').val(1);
});
$('form#myForm #btnDelete').click(function() {
$('form#myForm #btaction').val(2);
});
Теперь в обработчике формы читаем скрытую переменную и решаем на ее основе:
var act = $('form#myForm #btaction').val();
Не 100%-й верный пример, что Вы спрашиваете, но лично, и я использую MochiKit, я создаю JavaScript "классы" (или виджеты, если Вы предпочитаете) для каждой значительной клиентской структуры UI. Они знают, конечно, как заполнить себя с данными.
Я не знаю то, что больше там должен сказать - написание кода UI для браузера в JavaScript не отличается, чем написание кода UI для других типов приложений, что касается меня. Классы сборки и инстанцируют их по мере необходимости, заполняют их с данными, сделали, чтобы они бросили события и т.д. и т.д.
Я нахожусь ночью на этом?:)
Править: Другими словами, да - делают то, что Вы делаете по большей части. Я вижу слишком многих новичок, которого хакеры JavaScript пишут набору плохо связных функций, которые, кажется, не часть ничего определенного кроме, они - все в единственном файле. Надежда, которая имеет смысл.