Check form values before inserting new data, reset selection
authorJoey Schulze <joey@infodrom.org>
Fri, 12 Mar 2010 14:06:39 +0000 (15:06 +0100)
committerJoey Schulze <joey@infodrom.org>
Fri, 12 Mar 2010 14:06:39 +0000 (15:06 +0100)
masks/materialverbrauch.php

index 1d65701..5c37f56 100644 (file)
@@ -3,13 +3,41 @@
 $jscode[] = <<<EOC
 
 post_save = materialverbrauch_post_save;
+pre_insert = materialverbrauch_pre_insert;
 
 function materialverbrauch_post_save()
 {
-    var einsatz = document.getElementById('edit_einsatz');
+  var einsatz = document.getElementById('edit_einsatz');
 
-    var params = 'source=' + grid.tableId.substr(5) + '&id=' + einsatz.value;
-    ajax_request('details', params, details_callback);
+  var params = 'source=' + grid.tableId.substr(5) + '&id=' + einsatz.value;
+  ajax_request('details', params, details_callback);
+
+  var material = document.getElementById('edit_material');
+  material.selectedIndex = 0;
+}
+
+function materialverbrauch_pre_insert()
+{
+  var material = document.getElementById('edit_material');
+  var einsatz = document.getElementById('edit_einsatz');
+  var menge = document.getElementById('edit_menge');
+
+  if (!material.options[material.selectedIndex].value.length) {
+    alert('Sie haben kein Material ausgewählt.');
+    return false;
+  }
+
+  if (!einsatz.value.length) {
+    alert('Sie haben keinen Einsatzbericht ausgewählt.');
+    return false;
+  }
+
+  if (!menge.value.length) {
+    alert('Sie haben keine Menge angegeben.');
+    return false;
+  }
+
+  return true;
 }
 
 function einheit_callback(data)