@Mikola1013
Начинающий програмист

Почему мой скрипт ничего не выводит?

Помогите з кодом не виводить строки текста
мне нужно вивести строки:
$(document).ready(function(){
    $('#btn_submit').click(function(e){
        e.preventDefault();

        var input = $('#input').val();

        var url = "http://sum.in.ua/?swrd=";

        var parent = /[а-я]/i;

       var language = (parent.test(input))?  'ru-en':'en-ru';

        $.getJSON(url, {lang: language, text: input}, function(data){
            $('#result').text("");
            for (var i in data.text) {
                $('#result').text($('#result').text() + data.text[i]  + " ");
            }

        });
    });
});


popup.html
<!DOCTYPE html>
<html>
<head>
    <script src="jquery.js"></script>
    <script src="popup.js"></script>
    <title></title>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="style.css">
</head>
<body>

        <header>
            <textarea cols=20 id="input"></textarea>
            <input id="btn_submit" type="submit"><br>


        </header>
        <article>
            <div id="result"></div> <!---->


        </article>

        <footer>
            ©
            <span>2020</span>
             Good Word Guide
        </footer>
    </div>
</body>
</html>

manifest.json
{
  "name": "Електронний Словник",
  "version": "1.0",
  "description": "Помічник с текстом",
  "permissions": ["tabs", "<all_urls>","http://sum.in.ua/*"],

  "browser_action": {
    "default_title": "Открыть переводчик",
    "default_popup": "popup.html"
  },
  "manifest_version": 2
}
  • Вопрос задан
  • 145 просмотров
Решения вопроса 1
@loonny
UDP: Я нашел ошибку. На сайте нет кнопки #btn_submit. И элемента #result на сайте тоже нету. Я только что проверил.

немного оптимизировал ваш код
$(document).ready(function() {
  $('#btn_submit').click(function(e) {
    e.preventDefault();

    var input = $('#input').val();

    $.getJSON("http://sum.in.ua/?swrd=", {
      lang: ((/[а-я]/i.test(input)) ? 'ru-en' : 'en-ru'),
      text: input
    }, function(data) {
      var resultTextArr = [];

      for (var i in data.text) {
        resultTextArr.push(data.text[i]);
      }

      $('#result').text(resultTextArr.join(' '));
    });
  });
});


Во вкладке network проверьте, уходит ли запрос вообще. Так как ошибки у вас в консоли нет, то я так подозреваю вы напутали с id элемента для вывода. JQuery о таком не предупреждает даже. На скрине я не вижу элемента с id result
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы