Отправка нескольких форм на веб-страницу - PullRequest
2 голосов
/ 23 октября 2019

Я вручную заполняю формы для игры ежедневно и хотел бы автоматизировать процесс. Каждая форма одинакова, за исключением того, что она каждый раз отправляется разной «нации», поэтому я хотел создать список наций, затем просмотреть каждую нацию и отправить форму для нее.

Моя страница перенаправленакогда я пытался отправить форму, я пытался использовать iframe, чтобы остаться на текущей странице, чтобы он мог отправить форму для каждой страны. Я застрял здесь и не уверен, что делать дальше. Использует ли iframe правильный путь, или мне нужно разобраться, используя XMLHttpRequest?

Он автоматически заполняет формы ввода, но не отправляет их на сервер.

РЕДАКТИРОВАТЬ: по сути, я пытаюсь послать инструкции на веб-сайт для автоматической отправки «предметов» группе «наций». обычно это делается 1 к 1, вводя данные в форме на соответствующем веб-сайте, а затем отправляя их с помощью кнопки «удалить».

Скрипт, который я пытаюсь создать, сделает это автоматически для массиванаций.

сайт использует токены CSRF, поэтому сценарию необходимо получить требуемый токен CSRF и отправить данные для его принятия.

<HTML>
<body onload="sendForms()">

<form action="https://thewebsiteurl.com" id="autosend" target='formresponse'>

    <input type="text" name="item1" value="5000">
    <input type="text" name="item2" value="10">
    <input type="text" name="recipient" id="nationName" value="">

</form>

<div class='iframe_container'>
<iframe name='formresponse' width='1440px' height='850px'></iframe>
</div>

</body>


<script>
var nations = ["Nation1", "Nation2","Nation3","Nation4"];

function sendForms() {

    for (i = 0; i < nations.length; ++i) {
        document.getElementById("nationName").setAttribute("value", nations[i]);
        document.getElementById("autosend").submit();
    }
}
</script>



</HTML>

Я прочиталбольшая часть документации, которую я могу найти, касающейся этой проблемы, но с трудом интерпретирует и реализует ее, в том числе пытается реализовать XHLHttpRequest() и xhr.send()

1 Ответ

1 голос
/ 26 октября 2019

Попробуй это. Использовано jQuery

EDIT : добавлен вызов ajax

<HTML>
<body onload="sendForms()">

<form action="#" id="autosend">

    <input type="text" name="item1" value="5000">
    <input type="text" name="item2" value="10">
    <input type="text" name="recipient" id="nationName" value="">

</form>
</body>
<script>
var nations = ["Nation1", "Nation2","Nation3","Nation4"];

function sendForms() {

    for (i = 0; i < nations.length; ++i) {
        document.getElementById("nationName").setAttribute("value", nations[i]);
        $("#autosend").trigger("submit");
    }
}
$("#autosend").submit(function(e){
  e.preventDefault();

  $.ajax({
    url: "https://thewebsiteurl.com?"+$( this ).serialize(), 
    success: function(result){
      console.log("success :"+result);
    },
    type:'POST',
    error:function(result,code){console.log("failed")}
  }); 
});

</script>
</HTML>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...