رفتن به مطلب

ایجاد متغییر در forEach javascript


پست های پیشنهاد شده

سلام من یک اسکریپت دارم که از omdb چند فیلم رو دریافت می‌کنه و میشه از بینشون انتخاب کرد و بعد id اون هارو می‌فرسته به سرور

اسکریپت اینه:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>
  <body>
    <h1>Movies Sorter by IMDb Ratings</h1>
    <main class="content">
      <div id="search">
        <input type="text" id="search-input">
        <button onclick="handleSearch()">Search</button>
        <h2 id="search-data-title">Search Results</h2>
        <div id="search-data"></div>
        <button onclick="handleAddMovie()">Add</button>  
      </div>
      <div id="output">
        <h2>Final List</h2>
        <div id="output-area">
        </div>
        <button onclick="handleSortMovies()">ارسال برای دریافت</button>
      </div>
      
    </main>
  </body>
</html>
<script>
const baseUrl = "https://www.omdbapi.com/";
var finalMovieList = [];
async function handleSearch() {
  const searchedMovie = document.getElementById("search-input").value;
  if (searchedMovie) {
    const response = await (
      await fetch(`${baseUrl}?apikey=1a72b1e4&s=${searchedMovie}`)
    ).json();
    const data = response.Search;
    const resultsArea = document.getElementById("search-data");
    resultsArea.innerHTML = "";
    data.forEach((movie) => {
      const div = document.createElement("div");
      div.className = "movie";
      const input = document.createElement("input");
      input.type = "checkbox";
      input.id = movie.imdbID;
const img  = document.createElement("img");
img.style.width="50px";
img.style.height="100%";
    img.src = movie.Poster;
      const span = document.createElement("span");
      span.innerText = movie.Title;
      div.appendChild(input);
      div.appendChild(img);
      div.appendChild(span);
      resultsArea.appendChild(div);
    });
  }
  document.getElementById("search-input").value = "";
}
function handleAddMovie() {
  const resultsArea = document.getElementById("search-data");
  const searchedMovies = Array.from(resultsArea.childNodes);
  searchedMovies.forEach((movie) => {
    if (movie.firstChild.checked) {
      finalMovieList.push({
        id: movie.firstChild.id,
        title: movie.lastChild.textContent,
      });
    }
    resultsArea.innerHTML = "";
  });
  renderFinalList();
}
function renderFinalList() {
  if (finalMovieList.length) {
    const listArea = document.getElementById("output-area");
    listArea.innerHTML = "";
    const list = document.createElement("ul");
    finalMovieList.forEach(({ id, title }) => {    
      const listItem = document.createElement("li");
  listItem.id = id;
      listItem.innerText = title;
      list.appendChild(listItem);
   });
    listArea.appendChild(list);
  }
}
function handleSortMovies(){ 
my_form=document.createElement('FORM');
my_form.name='movie';
my_form.method='GET';
my_form.action='omdb.php';
finalMovieList.forEach(({ id }) => {
my_tb=document.createElement('INPUT');
my_tb.type='TEXT';
my_tb.name= 'id';
my_tb.value= id ;
my_form.appendChild(my_tb); });
document.body.appendChild(my_form);
my_form.submit();
}
</script>

الان id های انتخابی با یک فرم و GET به omdb می‌فرسته

و لینک اینجور میشه:

 

من میخوام که درخواست ها اینجور ارسال بشه:

omdb?id=tt0170016&id=tt0170016&id=...

یعنی اولین id بشه ?id= ولی id های بعدی عدد داشته باشن مثلا id2= و id3= و...

omdb?id=tt0170016&id2=tt0170016&id3=...

الان میخوام که یک متغییر برای این کارم و ارسالش مثل لینک بالا باشه

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...