summaryrefslogtreecommitdiffhomepage
path: root/libs
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2008-11-01 17:11:11 +0000
committerSteven Barth <steven@midlink.org>2008-11-01 17:11:11 +0000
commitae6fd93b8ce6b47d68a9ad96e0984edb91ee1716 (patch)
tree35f0b62f9ce5e6a9bb485c246236310fd4c768cb /libs
parentea9b377ec5585bc3a5745a485f84f3fba8a4935a (diff)
Add XHR CBI helper
Diffstat (limited to 'libs')
-rw-r--r--libs/cbi/htdocs/luci-static/resources/cbi.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/libs/cbi/htdocs/luci-static/resources/cbi.js b/libs/cbi/htdocs/luci-static/resources/cbi.js
index 4b1849bea..e9a801154 100644
--- a/libs/cbi/htdocs/luci-static/resources/cbi.js
+++ b/libs/cbi/htdocs/luci-static/resources/cbi.js
@@ -1,3 +1,18 @@
+/*
+ LuCI - Lua Configuration Interface
+
+ Copyright 2008 Steven Barth <steven@midlink.org>
+ Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ $Id$
+*/
+
var cbi_d = [];
function cbi_d_add(field, dep, next) {
@@ -177,3 +192,25 @@ function cbi_filebrowser(id, url, defpath) {
browser.focus();
}
+
+//Hijacks the CBI form to send via XHR (requires Prototype)
+function cbi_hijack_forms(layer, win, fail, load) {
+ layer.select('form').each(function(form) {
+ form.observe('submit', function(event) {
+ // Prevent the form from also submitting the regular way
+ event.stop();
+
+ var form = event.element();
+
+ if (load) {
+ load();
+ }
+
+ // Submit via XHR
+ form.request({
+ onSuccess: win,
+ onFailure: fail
+ });
+ });
+ });
+}