diff lib/js/urweb.js @ 2220:794017f378de

Merge.
author Ziv Scully <ziv@mit.edu>
date Mon, 24 Nov 2014 20:47:38 -0500
parents f05fcb206571
children 9272476e2a1c
line wrap: on
line diff
--- a/lib/js/urweb.js	Mon Nov 24 20:41:24 2014 -0500
+++ b/lib/js/urweb.js	Mon Nov 24 20:47:38 2014 -0500
@@ -1038,30 +1038,79 @@
     return x;
 }
 
-function inp(s, name) {
+function inpt(type, s, name) {
     if (suspendScripts)
         return;
 
     var x = input(document.createElement("input"), s,
-                  function(x) { return function(v) { if (x.value != v) x.value = v; }; }, "text", name);
+                  function(x) { return function(v) { if (x.value != v) x.value = v; }; }, type, name);
     x.value = s.data;
     x.onkeyup = x.oninput = x.onchange = x.onpropertychange = function() { sv(s, x.value) };
 
     return x;
 }
 
+function inp(s, name) {
+    return inpt("text", s, name);
+}
+
 function password(s, name) {
-    if (suspendScripts)
-        return;
+    return inpt("password", s, name);
+}
 
-    var x = input(document.createElement("input"), s,
-                  function(x) { return function(v) { if (x.value != v) x.value = v; }; }, "password", name);
-    x.value = s.data;
-    x.onkeyup = x.oninput = x.onchange = x.onpropertychange = function() { sv(s, x.value) };
+function email(s, name) {
+    return inpt("email", s, name);
+}
 
-    return x;
+function search(s, name) {
+    return inpt("search", s, name);
 }
 
+function url(s, name) {
+    return inpt("url", s, name);
+}
+
+function tel(s, name) {
+    return inpt("tel", s, name);
+}
+
+function color(s, name) {
+    return inpt("color", s, name);
+}
+
+function number(s, name) {
+    return inpt("number", s, name);
+}
+
+function range(s, name) {
+    return inpt("range", s, name);
+}
+
+function date(s, name) {
+    return inpt("date", s, name);
+}
+
+function datetime(s, name) {
+    return inpt("datetime", s, name);
+}
+
+function datetime_local(s, name) {
+    return inpt("datetime-local", s, name);
+}
+
+function month(s, name) {
+    return inpt("month", s, name);
+}
+
+function week(s, name) {
+    return inpt("week", s, name);
+}
+
+function time(s, name) {
+    return inpt("time", s, name);
+}
+
+
 function selectValue(x) {
     if (x.options.length == 0)
         return "";