По какой-то причине явная функция, которую я написал, не может очистить текстовое поле, но она запускается в другом 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>
Сначала у вас есть две функции, называемые 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>
Вы уже зарегистрировали 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" />
Clear();
до конца функции.
Вы назначаете функцию 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 = " ";
}
<input type="button" id="add-img" value="Add Image" onclick='Clear()';>
на<input type="button" id="add-img" value="Add Image">
The;
в первую очередь находится не в том месте. Кроме того, вам не нуженonclick
поскольку вы устанавливаете его в функцииonload
.