-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathmanaged-text-input.html
46 lines (42 loc) · 1.48 KB
/
managed-text-input.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Example: managed text input</title>
</head>
<body>
<!-- target element -->
<div id="container"></div>
<!-- templates -->
<template class="magery-templates">
<div data-template="main" id="container">
<h1>Number: {{number_str}}</h1>
<p>
The input below should only allow you to enter digits
(0-9), not letters etc.
</p>
<label for="id_number">Enter a number:</label>
<input type="text"
id="id_number"
name="number"
value="{{number_str}}"
oninput="updateNumber(event)" />
</div>
</template>
<script src="../build/magery.js"></script>
<script>
var templates = Magery.compile('.magery-templates');
var container = document.getElementById('container');
var data = {number_str: ''};
templates['main'].bind({
updateNumber: function (event) {
if (/^[0-9]*$/.test(event.target.value)) {
data.number_str = event.target.value;
Magery.patch(templates, 'main', data, container);
}
}
});
Magery.patch(templates, 'main', data, container);
</script>
</body>
</html>