diff lib/js/urweb.js @ 816:26e911ee924c

Split JavaScript inp() into separate functions
author Adam Chlipala <adamc@hcoop.net>
date Thu, 21 May 2009 10:18:20 -0400
parents 2fbd1ac2f04b
children 4585f744574a
line wrap: on
line diff
--- a/lib/js/urweb.js	Sun May 17 18:41:43 2009 -0400
+++ b/lib/js/urweb.js	Thu May 21 10:18:20 2009 -0400
@@ -295,7 +295,7 @@
   populate(x);
 }
 
-function inp(t, s, content) {
+function input(t, s) {
   var x = document.createElement(t);
   x.dead = false;
   x.signal = ss(s);
@@ -303,14 +303,23 @@
   x.recreate = function(v) { if (x.value != v) x.value = v; };
   populate(x);
   addNode(x);
-  if (t == "select") {
-    x.innerHTML = content;
-    x.value = s.data;
-    x.onchange = function() { sv(s, x.value) };
-  } else {
-    x.value = s.data;
-    x.onkeyup = function() { sv(s, x.value) };
-  }
+
+  return x;
+}
+
+function inp(s) {
+  var x = input("input", s);
+  x.value = s.data;
+  x.onkeyup = function() { sv(s, x.value) };
+
+  return x;
+}
+
+function sel(s, content) {
+  var x = input("select", s);
+  x.innerHTML = content;
+  x.value = s.data;
+  x.onchange = function() { sv(s, x.value) };
 
   return x;
 }