2014-01-20 8 views
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. – milestyle

+1

Изменить '' to ' '' ';' в первом случае находится в неправильном месте. Кроме того, вы не нуждаетесь в 'onclick', поскольку вы устанавливаете его в' onload'. – zero298

ответ

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

большое вам спасибо! – Rui

3

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

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();' в конец функции. – ic3b3rg

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"> 

Edit:

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

function Clear() { 
    document.getElementById("xi").value = " "; 
    document.getElementById("yi").value = " "; 
} 
Смежные вопросы