<div id='multi_items_result'></div>
<hr>
-[% L.button_tag('add_multi_items()', LxERP.t8('Continue')) %]
+[% L.button_tag('add_multi_items()', LxERP.t8('Continue'), id='continue_button') %]
<a href="#" onclick="close_multi_items_dialog();">[%- LxERP.t8("Cancel") %]</a>
<script type='text/javascript'>
method: 'post',
success: function(data){
$('#multi_items_result').html(data);
- $('#multi_items_result input').keydown(function(event) {
- if(event.keyCode == 13) {
- event.preventDefault();
- add_multi_items();
- return false;
- }
- });
+ enable_continue();
}
});
}
+function disable_continue() {
+ // disable keydown-event and continue button to prevent
+ // impatient users to add parts multiple times
+ $('#multi_items_result input').off("keydown");
+ $('#continue_button').prop('disabled', true);
+}
+
+function enable_continue() {
+ $('#multi_items_result input').keydown(function(event) {
+ if(event.keyCode == 13) {
+ event.preventDefault();
+ add_multi_items();
+ return false;
+ }
+ });
+ $('#continue_button').prop('disabled', false);
+}
+
function add_multi_items() {
+ // rows at all
+ var n_rows = $('.multi_items_qty').length;
+ if ( n_rows == 0) { return; }
+
+ // filled rows
+ n_rows = $('.multi_items_qty').filter(function() {
+ return $(this).val().length > 0;
+ }).length;
+ if ( n_rows == 0) { return; }
+
+ disable_continue();
+
var data = $('#[%- FORM.callback_data_id %]').serializeArray();
data = data.concat($('#multi_items_form').serializeArray());
data.push({ name: 'action', value: '[%- FORM.callback %]' });