libs/cbi: implement realtime client side input validation for Value and DynamicList...
[project/luci.git] / libs / cbi / luasrc / view / cbi / value.htm
1 <%#
2 LuCI - Lua Configuration Interface
3 Copyright 2008 Steven Barth <steven@midlink.org>
4 Copyright 2008-2010 Jo-Philipp Wich <xm@subsignal.org>
5
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
9
10 http://www.apache.org/licenses/LICENSE-2.0
11
12 $Id$
13
14 -%>
15 <%+cbi/valueheader%>
16 <input type="<%=self.password and 'password" class="cbi-input-password' or 'text" class="cbi-input-text' %>" onchange="cbi_d_update(this.id)"<%= attr("name", cbid) .. attr("id", cbid) .. attr("value", self:cfgvalue(section) or self.default) .. ifattr(self.size, "size")%> />
17 <% if self.password then %><img src="<%=resource%>/cbi/reload.gif" style="vertical-align:middle" title="<%:Reveal/hide password%>" onclick="var e = document.getElementById('<%=cbid%>'); e.type = (e.type=='password') ? 'text' : 'password';" /><% end %>
18 <% if #self.keylist > 0 or self.datatype then -%>
19 <script type="text/javascript">
20 <% if #self.keylist > 0 then -%>
21 cbi_combobox_init('<%=cbid%>', {
22 <%-
23 for i, k in ipairs(self.keylist) do
24 -%>
25 <%-=string.format("%q", k) .. ":" .. string.format("%q", self.vallist[i])-%>
26 <%-if i<#self.keylist then-%>,<%-end-%>
27 <%-
28 end
29 -%>
30 }, '<%- if not self.rmempty and not self.optional then -%>
31 <%-: -- Please choose -- -%>
32 <%- end -%>', '
33 <%- if self.combobox_manual then -%>
34 <%-=self.combobox_manual-%>
35 <%- else -%>
36 <%-: -- custom -- -%>
37 <%- end -%>');
38 <%- end %>
39 <% if self.datatype then -%>
40 cbi_validate_field('<%=cbid%>', <%=tostring(self.optional == true)%>, '<%=self.datatype%>');
41 <%- end %>
42 </script>
43 <% end -%>
44 <%+cbi/valuefooter%>