#javascript #html
#javascript #HTML
Вопрос:
Я изо всех сил пытаюсь понять, что я делаю неправильно и почему то, что я сделал, не работает .. если бы кто-нибудь мог предоставить правильный код и объяснение, это было бы здорово.
В принципе, мне нужно, чтобы при нажатии кнопки и заполнении имени появлялась дополнительная строка с надписью «молодец, ты выполнил задачу 1», но я не могу добиться этого и перепробовал несколько способов.он должен быть там, где находится в HTML-файле.
HTML
<h1> Input and Output using Javascript</h1>
<p id="message"> THis is some text in a paragraph </p>
<p><span id="newmessage"></span></p>
<p><button type="button" id="clickme">Click Me!</button></p>
JavaScript
function promptName() {
var sName = prompt("Enter your name.nThis prompt should show uo when
thenClick Me busson is clicked.","your Name");
alert(" Hi there " sName ". Alert boxes are a quick way to check the
staten of your variabled when you are developing code.");
rewriteParagraph(sName);
}
function rewriteParagraph(userName){
var message = document.getElementById("message");
message.innerHTML = "hi " userName "If you can see this you have
successfully overwritten the contents of this paragraph.
Congratulations!!";
}
function writeNewMessage(){
var newMessage = document.getElementById("clickme");
document.getElementById("newmessage").innerHTML = "you have now
finished Task 1";}
function init() {
var clickMe = document.getElementById("clickme");
clickMe.onclick = promptName;
}
window.onload = init;
Ответ №1:
Ну writeNewMessage
, нигде не вызывался, поэтому не уверен, что это делает, но все остальное, похоже, работает:
function promptName() {
var sName = prompt("Enter your name.nThis prompt should show when thenClick Me button is clicked.","your name");
alert("Hi there " sName ". Alert boxes are a quick way to check the staten of your variables when you are developing code.");
rewriteParagraph(sName);
writeNewMessage();
}
function rewriteParagraph(userName) {
var message = document.getElementById("message");
message.innerHTML = "Hi " userName ". If you can see this you have successfully overwritten the contents of this paragraph. Congratulations!!";
}
function writeNewMessage() {
document.getElementById("newmessage").innerHTML = "you have now finished Task 1";
}
function init() {
var clickMe = document.getElementById("clickme");
clickMe.onclick = promptName;
}
window.onload = init;
<h1> Input and Output using Javascript</h1>
<p id="message"> This is some text in a paragraph </p>
<p><span id="newmessage"></span></p>
<p><button type="button" id="clickme">Click Me!</button></p>
Ответ №2:
Во-первых, вам нужно исправить опечатки. Затем вам нужно вызвать функцию: writeNewMessage();
Обратите внимание, что вы можете удалить var newMessage = document.getElementById("clickme");
, поскольку он ничего не делал.
function promptName() {
var sName = prompt("Enter your name.nThis prompt should show up when thenClick Me button is clicked.", "your Name");
alert(" Hi there " sName ". Alert boxes are a quick way to check the staten of your variabled when you are developing code.");
rewriteParagraph(sName);
}
function rewriteParagraph(userName) {
var message = document.getElementById("message");
message.innerHTML = "Hi " userName "! If you can see this you have successfully overwritten the contents of this paragraph. Congratulations!!";
writeNewMessage(); // < need to be called
}
function writeNewMessage() {
// var newMessage = document.getElementById("clickme"); // < useless
document.getElementById("newmessage").innerHTML = "you have now finished Task 1 ";
}
function init() {
var clickMe = document.getElementById("clickme");
clickMe.onclick = promptName;
}
window.onload = init;
<h1> Input and Output using Javascript</h1>
<p id="message"> This is some text in a paragraph </p>
<p><span id="newmessage"></span></p>
<p><button type="button" id="clickme">Click Me!</button></p>