| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
G_Z 24.07.2020 02:25 / 24.07.2020 06:25
@main[]
^if(^request:headers.AJAX.bool(false)){
^ajax[]
}{
^form[]
}
@form[]
$text[Ich weiß^; nicht, was soll es bedeuten
Daβ^; ich so traurig bin^;
Ein Mä^;rchen aus alten Zeiten,
Das kommt mir nicht aus dem Sinn.]
<form id="form" method="post" action="">
<textarea id="text" name="text" rows="4" cols="40">$text</textarea>
</form>
<h1>HTML native form</h1>
<button form="form" type="submit">Send via HTML</button>
^if($request:method eq 'POST'){
<p>^form:text.replace[^taint[^#0A];<br/>]</p>
}
<h1>JS submit (form-urlencoded)</h1>
<button id="js-button-urlencoded" type="button">Send via JS</button>
<p id="response-urlencoded"></p>
<script>
(function(){
var button = document.querySelector('#js-button-urlencoded');
button.addEventListener('click', function(){
var form = document.querySelector('#form'),
text = document.querySelector('#text').value,
result = document.querySelector('#response-urlencoded');
var data = 'text=' + encodeURIComponent(text);
fetch(window.location.href, {
method: 'POST',
headers: {
'ajax': true,
'content-type': 'application/x-www-form-urlencoded;charset=UTF-8'
},
body: data
}).then(function(response){
return response.text();
}).then(function(text){
result.innerText = text;
});
});
})();
</script>
<h1>JS submit (multipart/form-data)</h1>
<button id="js-button-multipart" type="button">Send via JS</button>
<p id="response-multipart"></p>
<script>
(function(){
var button = document.querySelector('#js-button-multipart');
button.addEventListener('click', function(){
var form = document.querySelector('#form'),
result = document.querySelector('#response-multipart');
fetch(window.location.href, {
method: 'POST',
headers: {
'ajax': true
},
body: new FormData(form)
}).then(function(response){
return response.text();
}).then(function(text){
result.innerText = text;
});
});
})();
</script>
@ajax[]
$form:textВсё прекрасно отправляется обоими методами, никакого специального декодирования не требуется.