javascript - 删除表单元素并在其位置放置一个具有唯一 id 的 div?

标签 javascript html

我的老师这句话到底是什么意思?我对 HTML 的经验很少,所以我不知道该怎么办?如果没有表单元素,它不会停止工作吗? 整个指令说: "删除表单元素,并在其位置放置一个具有唯一 id 的 div。不要忘记结束 div 元素。为删除任务添加第二个按钮。将两个按钮的“提交”类型更改为“按钮”并给出每个都有一个唯一的 ID。”

(function(){
    
	// Variable that stores the tasks:
    var tasks = []; 

	// Function called when the form is submitted.
	// Function adds a task to the global array.
    function addTask() {
        'use strict';
        var task = document.getElementById('task');
        var output = document.getElementById('output');
        var message = '';

        if (task.value) {
            tasks.push(task.value);
            message = '<h2>To-Do</h2><ol>';
            for (var i = 0, count = tasks.length; i < count; i++) {
                message += '<li>' + tasks[i] + '</li>';
            }
            message += '</ol>';
            output.innerHTML = message;        
        } // End of task.value IF.

	    // Return false to prevent submission:
        return false;

    } // End of addTask() function.

    // Initial setup:
    function init() {
        'use strict';
        document.getElementById('theForm').onsubmit = addTask;
    } // End of init() function.
    window.onload = init;

})();
<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>To-Do List</title>
    <!--[if lt IE 9]>
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link rel="stylesheet" href="css/form.css">
</head>
<body>
    <!-- Script 6.5 - task.html -->
    <form action="#" method="post" id="theForm">
        <fieldset><legend>Enter an Item To Be Done</legend>
            <div><label for="task">Task</label><input type="text" name="task" id="task" required></div>
            <input type="submit" value="Add It!" id="submit">
		    <div id="output"></div>
        </fieldset>
    </form>
    <script src="js/todo.js"></script>
</body>
</html>

最佳答案

由于表单不再可用,您需要将事件从 onsubmit 更改为 on click。

试试这个:

(function(){
    
	// Variable that stores the tasks:
    var tasks = []; 

	// Function called when the form is submitted.
	// Function adds a task to the global array.
    function addTask() {
        'use strict';
        var task = document.getElementById('task');
        var output = document.getElementById('output');
        var message = '';

        if (task.value) {
            tasks.push(task.value);
            message = '<h2>To-Do</h2><ol>';
            for (var i = 0, count = tasks.length; i < count; i++) {
                message += '<li>' + tasks[i] + '</li>';
            }
            message += '</ol>';
            output.innerHTML = message;        
        } // End of task.value IF.

	    // Return false to prevent submission:
        return false;

    } // End of addTask() function.

    // Initial setup:
    function init() {
        'use strict';
        document.getElementById('submit').onclick = addTask;
    } // End of init() function.
    window.onload = init;

})();
<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>To-Do List</title>
    <!--[if lt IE 9]>
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link rel="stylesheet" href="css/form.css">
</head>
<body>
    <!-- Script 6.5 - task.html -->
    <form action="#" method="post" id="theForm"
        <fieldset><legend>Enter an Item To Be Done</legend>
            <div><label for="task">Task</label><input type="text" name="task" id="task" required></div>
            <input type="submit" value="Add It!" id="submit">
		    <div id="output"></div>
        </fieldset>
   </form>
    <script src="js/todo.js"></script>
</body>
</html>

关于javascript - 删除表单元素并在其位置放置一个具有唯一 id 的 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42500915/

相关文章:

javascript - 如何在 iMacros 中更改 .js 文件中的 TAG POS

javascript - 单击按钮更改复选框颜色,一次从上到下淡入淡出

html - 带有类的图形标签中的 img 标签不起作用

javascript - 我有下面的代码 - 在 IE 和 Opera 中工作得很好,但在 Firefox/Netscape 中根本不起作用。有任何想法吗?

javascript - 一个简单的 Solidity 合约和脚本的无效操作码错误

javascript - JSlint 警告 `redeclaration of var counter` 是否必要?

html - IE 8 CSS 选择器

javascript - 为什么 ajax `data` 会导致此代码中断?

javascript - 图像 CSS 样式上不需要的边框

javascript - 在嵌套数组中创建带有 javascript 错误的游戏