Очистить значение Textbox в моем коде

0

По какой-то причине явная функция, которую я написал, не может очистить текстовое поле, но она запускается в другом html файле. Может ли кто-нибудь выяснить проблему для меня? Это задание должно состояться в 12:00 сегодня, пожалуйста, помогите! Заранее спасибо.

    <script type="text/javascript">
        window.onload = function() {
            var container = document.getElementById("projector");
            var add_img = document.getElementById("add-img");

            function Clear() {
                document.getElementById("xi").value = " ";

            }


            add_img.onclick = function check() {
                var img = document.createElement("img");
                var h = document.getElementById("xi").value;
                var w = document.getElementById("yi").value;

                img.src = 'http://www.cryptocoinsnews.com/wp-content/uploads/2013/12/bitcoin-google.jpeg';

                img.setAttribute("height", h);
                img.setAttribute("width", w);

                document.getElementById("projector").appendChild(img);
            }
            //This is my "clear textbox function" but it doesn't run?
            function Clear() {

                document.getElementById("xi").value = " ";
                document.getElementById("xi").value = " ";

            }

            //This is my "clear textbox function" but it doesn't run?

        }

    </script>

    <input type="text" id="xi" value="200">
    <input type="text" id="yi" value="200">
    <input type="button" id="add-img" value="Add Image" onclick='Clear()';>

    <div id="projector"></div>
  • 1
    Вы создали функцию Clear дважды.
  • 1
    Замените <input type="button" id="add-img" value="Add Image" onclick='Clear()';> на <input type="button" id="add-img" value="Add Image"> The ; в первую очередь находится не в том месте. Кроме того, вам не нужен onclick поскольку вы устанавливаете его в функции onload .
Теги:

3 ответа

1
Лучший ответ

Сначала у вас есть две функции, называемые Clear.

Тогда его, вероятно, проще вызвать Clear, как только щелчок по кнопке будет завершен (в пределах функции для обработки этого).

В итоге...

<script type="text/javascript">
    window.onload = function() {
    var container = document.getElementById("projector");
    var add_img = document.getElementById("add-img");


    add_img.onclick = function check() {
        var img = document.createElement("img");
            var h = document.getElementById("xi").value;
            var w = document.getElementById("yi").value;

            img.src = 'http://www.cryptocoinsnews.com/wp-content/uploads/2013/12/bitcoin-google.jpeg';

            img.setAttribute("height", h);
            img.setAttribute("width", w);

            document.getElementById("projector").appendChild(img);

            Clear();

        }
        //This is my "clear textbox function" but it doesn't run?
        function Clear() {
            document.getElementById("xi").value = " ";
            document.getElementById("yi").value = " ";
        }

        //This is my "clear textbox function" but it doesn't run?

    }

</script>

<input type="text" id="xi" value="200">
<input type="text" id="yi" value="200">
<input type="button" id="add-img" value="Add Image">

<div id="projector"></div> 
  • 0
    большое спасибо!
3

Вы уже зарегистрировали onclick-событие в коде. Поэтому не используйте свойство onclick в html. Вызовите Clear -function в коде следующим образом:

add_img.onclick = function check() {
    var img = document.createElement("img");
    var h = document.getElementById("xi").value;
    var w = document.getElementById("yi").value;

    img.src = 'http://www.cryptocoinsnews.com/wp-content/uploads/2013/12/bitcoin-google.jpeg';

    img.setAttribute("height", h);
    img.setAttribute("width", w);

    document.getElementById("projector").appendChild(img);

    Clear();
}

И удалите свойство onclick:

<input type="button" id="add-img" value="Add Image" />
  • 1
    Переместить Clear(); до конца функции.
0

Вы назначаете функцию Clear() через html, а затем переопределяете onclick в своем коде.
Я бы просто добавил его к вашему коду.

Как это:

add_img.onclick = function check() {
   var img = document.createElement("img");
   var h = document.getElementById("xi").value;
   var w = document.getElementById("yi").value;

   img.src = 'http://www.cryptocoinsnews.com/wp-content/uploads/2013/12/bitcoin-google.jpeg';

   img.setAttribute("height", h);
   img.setAttribute("width", w);

   document.getElementById("projector").appendChild(img);
   Clear();
}

И удалите его из HTML:

<input type="button" id="add-img" value="Add Image">

Редактировать:

Измените функцию Clear() на это, чтобы исправить опечатку:

function Clear() {
   document.getElementById("xi").value = " ";
   document.getElementById("yi").value = " ";
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню