File List
{% extends '@content/page.twig' %}
{% import '@util/formmacro.twig' as f %}
{% block headerbody %}
<h1>Test FormData calls for {{op}}</h1>
{% endblock headerbody %}
{% block onload %}
{% if op == 'put' %}
{% set op = 'get' %}
document.getElementById('tform').addEventListener('submit', function(e) {
e.preventDefault();
e.stopPropagation();
var request = new XMLHttpRequest();
request.open(framework.putorpatch, '#', true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8' /*'multipart/form-data; charset=UTF-8'*/);
data =[];
e.target.querySelectorAll('input[type="text"]').forEach(function(el){
//data.append(el.getAttribute('name'), el.value);
data.push(el.getAttribute('name')+'='+el.value);
});
request.onreadystatechange = function() {
if (this.readyState == 4)
{
document.getElementsByTagName('html')[0].innerHTML = this.responseText;
}
};
request.send(data.join('&'));
return false;
});
{% endif %}
{% if op == 'cookie' %}
document.cookie = 'exist=42';
document.cookie = 'email=foo@bar.com';
document.cookie = 'notarray[0]=43';
document.cookie = 'aexist[0]=42';
document.cookie = 'aexist[1]=66'; // two cookies with same name overwrite each other so [] doesnt work more than once
document.cookie = 'nexist[14]=42';
document.cookie = 'nexist[15]=42';
document.cookie = 'kexist[key1]=42';
document.cookie = 'kexist[key2]=43';
document.cookie = 'beanid={{context.user.getID}}';
{% endif %}
{% if remote is defined %}
document.getElementById('tform').submit();
{% endif %}
{% endblock onload %}
{% block main %}
<section class="row">
<article class="mx-auto col-md-10 mb-5">
{% include '@util/message.twig' %}
<pre>{{array}}</pre>
{{f.startform({method: op == 'cookie' ? 'get' : op, id: 'tform'})}}
{% if op != 'cookie' %}
{{f.text({label: 'Exist', name: 'exist', value: 42})}}
{{f.text({label: 'Email', name: 'email', value: 'foo@bar.com'})}}
{{f.text({label: 'Not Array', name: 'notarray[]', value: 43})}}
{{f.text({label: 'Array', name: 'aexist[]', value: 42})}}
{{f.text({label: 'Array', name: 'aexist[]', value: 66})}}
{{f.text({label: 'Array', name: 'nexist[14]', value: 42})}}
{{f.text({label: 'Array', name: 'nexist[15]', value: 43})}}
{{f.text({label: 'Array', name: 'kexist[key1]', value: 42})}}
{{f.text({label: 'Array', name: 'kexist[key2]', value: 43})}}
{{f.text({label: 'Bean', name: 'beanid', value: context.user.getID})}}
{{f.text({label: 'Bad Bean', name: 'badbeanid', value: 0})}}
{{f.text({label: 'Bad Bean', name: 'badbeanid2', value: 'id'})}}
{% else %}
{{f.hidden({name: 'cookie', value: 1})}}
{% endif %}
{{f.submit({value: 'Test'})}}
{{f.endform()}}
</article>
</section>
{% endblock main %}
{% block pagefooter %}
{% endblock pagefooter %}