Skip to content

Instantly share code, notes, and snippets.

@adamstep
Created January 7, 2020 23:44
Show Gist options
  • Save adamstep/186c56500afd05b4179e562b9cbe5b42 to your computer and use it in GitHub Desktop.
Save adamstep/186c56500afd05b4179e562b9cbe5b42 to your computer and use it in GitHub Desktop.
Intercooler input test
<head>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://intercoolerjs.org/release/intercooler-1.2.3.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery-mockjax@2.5.0/src/jquery.mockjax.min.js"></script>
</head>
<body>
<div id="page-content">
<form ic-post-to="/date" ic-select-from-response="#page-content" ic-target="#page-content">
<input type="text" name="year" value="2020">
<button type="submit">Submit</button>
</form>
<h3>Value: 2020</h3>
</div>
<script>
// Taken from https://gist.github.com/kares/956897
function parseParams(str) {
var re = /([^&=]+)=?([^&]*)/g;
var decode = function (str) {
return decodeURIComponent(str.replace(/\+/g, ' '));
};
var params = {}, e;
if (str) {
if (str.substr(0, 1) == '?') {
str = str.substr(1);
}
while (e = re.exec(str)) {
var k = decode(e[1]);
var v = decode(e[2]);
if (params[k] !== undefined) {
if (!$.isArray(params[k])) {
params[k] = [params[k]];
}
params[k].push(v);
} else {
params[k] = v;
}
}
}
return params;
}
$(function() {
$.mockjax({
'url': '/date',
response: function (settings) {
const params = parseParams(settings.data);
const year = params.year;
this.responseText =
`<html><body><div id="page-content">
<form ic-post-to="/date" ic-select-from-response="#page-content" ic-target="#page-content">
<input type="text" name="year" value="${year}">
<button type="submit">Submit</button>
</form>
<h3>Value: ${year}</h3>
</div></body></html>`;
}
});
});
</script>
</body>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment