如何在单击 JavaScript 函数中的按钮时添加文本 "Please wait a while..."
How to add text "Please wait a while..." on clicking the button in JavaScript function
我使用 JavaScript 创建了一些函数调用并使其延迟 7 秒,现在我希望当用户单击按钮时,“请稍候...”文本(不在按钮文本中)延迟时间一开始就会出现。
“请稍候”文本应显示为标题标签(h3 或 h4 标签)
任何help/suggestion,请...
function yes() {
var button = document.getElementById('test');
var name = document.getElementById('name');
var age = document.getElementById('age');
var location = document.getElementById('location');
console.log("clicked on Test-Button");
var str = 'Hello! <p> My name is Ashish</p><p>How Are You: ' + name.value +
'';
document.getElementById('test').innerHTML = str;
};
<label>
Your Name:
<input id="name" />
</label>
<br />
<button onclick="setTimeout(yes, 7000)">Test</button> <!-- timeout -->
<p id="test"></p>
最好通过 javascript(而不是内联 onclick
)附加 eventListeners - 在这种情况下,它为我们提供了一个很好的机会来执行 Please Wait... 插入 - 这当完成的输出到达时被(理想地)覆盖。
window.addEventListener('load', () => {
document.querySelector('button.test-btn').addEventListener('click', e => {
document.querySelector('#test').innerHTML = '<h3>Please Wait...</h3>';
setTimeout(yes, 7000)
})
})
function yes() {
var button = document.getElementById('test');
var name = document.getElementById('name');
var age = document.getElementById('age');
var location = document.getElementById('location');
var str = 'Hello! <p> My name is Ashish</p><p>How Are You: ' + name.value +
'';
document.getElementById('test').innerHTML = str;
};
<label>
Your Name:
<input id="name" />
</label>
<br />
<button class='test-btn'>Test</button>
<p id="test"></p>
将 setTimeout 移动到点击内部
我还建议 addEventListener 没有内联事件处理程序
window.addEventListener("load", function() {
document.getElementById("test").addEventListener("click", function() {
console.log("clicked on Test-Button");
const wait = document.getElementById('wait');
wait.removeAttribute("hidden")
setTimeout(function() {
const name = document.getElementById('name'),
age = document.getElementById('age'),
str = '<p>Hello!<br/>My name is Ashish</p><p>How Are You ' + name.value + '?</p>';
wait.setAttribute("hidden", true)
document.getElementById('test').innerHTML = str;
}, 7000);
});
});
<label>
Your Name:
<input id="name" />
</label>
<br />
<button type="button" id="test">Test</button>
<!-- timeout --><span id="wait" hidden>Please wait</span>
<p id="test"></p>
我使用 JavaScript 创建了一些函数调用并使其延迟 7 秒,现在我希望当用户单击按钮时,“请稍候...”文本(不在按钮文本中)延迟时间一开始就会出现。
“请稍候”文本应显示为标题标签(h3 或 h4 标签)
任何help/suggestion,请...
function yes() {
var button = document.getElementById('test');
var name = document.getElementById('name');
var age = document.getElementById('age');
var location = document.getElementById('location');
console.log("clicked on Test-Button");
var str = 'Hello! <p> My name is Ashish</p><p>How Are You: ' + name.value +
'';
document.getElementById('test').innerHTML = str;
};
<label>
Your Name:
<input id="name" />
</label>
<br />
<button onclick="setTimeout(yes, 7000)">Test</button> <!-- timeout -->
<p id="test"></p>
最好通过 javascript(而不是内联 onclick
)附加 eventListeners - 在这种情况下,它为我们提供了一个很好的机会来执行 Please Wait... 插入 - 这当完成的输出到达时被(理想地)覆盖。
window.addEventListener('load', () => {
document.querySelector('button.test-btn').addEventListener('click', e => {
document.querySelector('#test').innerHTML = '<h3>Please Wait...</h3>';
setTimeout(yes, 7000)
})
})
function yes() {
var button = document.getElementById('test');
var name = document.getElementById('name');
var age = document.getElementById('age');
var location = document.getElementById('location');
var str = 'Hello! <p> My name is Ashish</p><p>How Are You: ' + name.value +
'';
document.getElementById('test').innerHTML = str;
};
<label>
Your Name:
<input id="name" />
</label>
<br />
<button class='test-btn'>Test</button>
<p id="test"></p>
将 setTimeout 移动到点击内部
我还建议 addEventListener 没有内联事件处理程序
window.addEventListener("load", function() {
document.getElementById("test").addEventListener("click", function() {
console.log("clicked on Test-Button");
const wait = document.getElementById('wait');
wait.removeAttribute("hidden")
setTimeout(function() {
const name = document.getElementById('name'),
age = document.getElementById('age'),
str = '<p>Hello!<br/>My name is Ashish</p><p>How Are You ' + name.value + '?</p>';
wait.setAttribute("hidden", true)
document.getElementById('test').innerHTML = str;
}, 7000);
});
});
<label>
Your Name:
<input id="name" />
</label>
<br />
<button type="button" id="test">Test</button>
<!-- timeout --><span id="wait" hidden>Please wait</span>
<p id="test"></p>