Данные текстового поля из Javascript - PullRequest
2 голосов
/ 07 мая 2020

Нужна небольшая помощь.

Приведенный ниже сценарий выбирает значение из текстового поля и добавляет его в URL-адрес.

Пример:

Значение текстового поля:
один
два
три
Четыре
Пять
Шесть
Семь

Выходной URL:
https://www.google.com/search?q=one+two+three+four+five+six+seven

Помощь, которая мне нужна:

Вместо добавления всех значений текстового поля в URL-адрес мне нужно, чтобы значения текстового поля были разделены на кратные 5 и соответственно разделить URL-адрес

Результат должен быть:
https://www.google.com/search?q=one+two+three+four+five
https://www.google.com/search?q=six+seven

$(function () {
  $("#text1").click(function () {
    if ($('#textbox1').val() != '') {
      var search_container1 = $("#textbox1").val().split(" ");
      for (k = 0; k < search_container1.length; k++) {
        search_container1[k] = search_container1[k].replace(/\s/gi, "+");
      }
      var srcbox1 = "val1234";

      if (srcbox1 == "val1234") {
        var search_val1234 = "";
        for (var i = 0; i < search_container1.length; i++) {
          search_val1234 = search_container1[i];
          {
            window.open("https://www.google.com/search?client=firefox-b-d&q=" + search_val1234 + "");
          }
        }

      }
    }
    else if ($('#textbox1').val() == '') {
      alert("Enter Keyword");
    }
  });
});

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta content="width=device-width, initial-scale=1.0" name="viewport">
    <title>textbox</title>
</head> 

<body>  
    <div class="container">

        <div class="col-sm">
                      <div class="card">
                      <div class="card-body"><center><a>Deal IDs</a></center>
                        <br>
                              <textarea id="textbox1" cols="5" rows="7"></textarea><br>
                        <center><br><button id="text1" class="btn btn-warning btn-block ">Submit</button></center>
                        </div>
                    </div>
                   </div>
    </div>


</body>

</html>

Ответы [ 2 ]

0 голосов
/ 07 мая 2020

$(function() {
  $("#text1").click(function() {
    if ($("#textbox1").val() != "") {
      var search_container1 = $("#textbox1").val().replace(/\s+/g, "+");
      var search_container1 = search_container1.split("+"),
        len = search_container1.length;

      var search_val1234 = [];
      for (var i = 0, j = -1; i < len; i++) {
        if (i % 5 == 0) {
          search_val1234[++j] = "";
        }
        search_val1234[j] += search_container1[i] + "+";
      }

      for (var i = 0; i < search_val1234.length; i++)
        window.open("https://www.google.com/search?client=firefox-b-d&q=" + search_val1234[i]);

    } else if ($("#textbox1").val() == "") alert("Enter Keyword");
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="textbox1" />
<button id="text1">Search</button>
0 голосов
/ 07 мая 2020

Вот ссылка jsFiddle, по которой вы можете обратиться к своему решению.

$("#queryBtn").on('click', function(){
	let val = $("#inputTextArea").val();
  if(val){
  	const chunk = 5;
  	let valuesArray = val.toLowerCase().split(/[\s*\n*]/ig).filter((x) => x != "");
    console.log(valuesArray);
    let i,j,tArr;
    for (i=0,j=valuesArray.length; i<j; i+=chunk) {
        tArr = valuesArray.slice(i,i+chunk);
        window.open("https://www.google.com/search?q=" + tArr.join("+"));
    }
  }
});
<script src="https://code.jquery.com/jquery-3.4.1.slim.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.css" rel="stylesheet"/>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.js"></script>
<div class="container">
  <h5>
  Enter values in textarea
  </h5>
  <textarea id="inputTextArea" class="form-control" aria-label="With textarea"></textarea>
  <br>
  <button type="button" id="queryBtn" class="btn btn-primary">Send</button>
</div>

Попробуйте использовать ссылку на скрипт, чтобы окно window.open работало ===> JS -Fiddle Link

, чтобы объяснить код построчно -

  1. Сначала взял значение из текстовой области с помощью селектора jquery id.

  2. Установить блок должен быть равен 5 (так как у вас 5 в качестве размера блока).

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

  4. L oop, который является фрагментарным, поэтому объединение фрагментов массива и последующее присоединение к нему с символом '+', который затем передается в window.open.

Поиграйте с кодом и добро пожаловать в переполнение стека :)

Убедитесь, что проголосовали за если это решило вашу проблему.

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