点击按钮,在ul标签中,添加一个新的li元素,内容是输入框中的内容
时间: 2024-03-10 20:46:28 浏览: 26
您可以使用以下代码来实现这个功能:
HTML代码:
```html
<input type="text" id="input-text">
<button onclick="addItem()">添加</button>
<ul id="list"></ul>
```
JavaScript代码:
```javascript
function addItem() {
// 获取输入框中的内容
var inputValue = document.getElementById('input-text').value;
// 创建新的li元素
var li = document.createElement('li');
li.innerText = inputValue;
// 将li元素添加到ul元素中
var ul = document.getElementById('list');
ul.appendChild(li);
}
```
当用户点击“添加”按钮时,`addItem()`函数会被调用。函数首先获取输入框中的内容,然后创建一个新的li元素,并将输入框中的内容设置为li元素的内容。最后,将li元素添加到ul元素中,完成添加新元素的功能。
相关问题
在Dreamweaver中,用table设计一个电商网站
首先,打开Dreamweaver软件并创建一个新的HTML文件。
1. 创建网页布局
在HTML文件中,使用``<table>``标签来创建表格,以此来设计电商网站的布局。可以使用``<tr>``和``<td>``标签来添加行和单元格。例如:
```
<table>
<tr>
<td colspan="2"><h1>电商网站</h1></td>
</tr>
<tr>
<td width="200px">导航栏</td>
<td>内容区域</td>
</tr>
<tr>
<td>左侧广告栏</td>
<td>商品展示区域</td>
</tr>
<tr>
<td>底部菜单</td>
<td>版权信息</td>
</tr>
</table>
```
在上述代码中,``colspan``属性可以让单元格跨越多列,``width``属性可以设置单元格的宽度。
2. 添加图片和链接
在网页中添加商品图片和链接至购物车等功能。可以使用``<img>``标签来插入图片,使用``<a>``标签来创建链接。例如:
```
<td><a href="#"><img src="商品1.jpg" alt="商品1"></a></td>
```
在上述代码中,``href``属性可以设置链接的目标地址,``src``属性可以设置图片的路径,``alt``属性可以设置图片的替代文本。
3. 设置样式
使用CSS来设置网页的样式,例如字体、颜色、行距等。可以在HTML文件中使用``<style>``标签来嵌入CSS样式。例如:
```
<style>
body {
font-family: Arial, sans-serif;
color: #333;
line-height: 1.5;
}
h1 {
text-align: center;
margin: 0;
}
table {
width: 100%;
border-collapse: collapse;
}
td {
padding: 10px;
border: 1px solid #ccc;
}
img {
max-width: 100%;
}
</style>
```
在上述代码中,可以设置body、h1、table、td、img等元素的样式。
4. 完善网页内容
在网页中添加商品介绍、价格、评论等内容,以及购物车、结算等功能。可以使用``<p>``标签来添加段落,使用``<ul>``和``<li>``标签来创建列表,使用``<form>``和``<input>``标签来创建表单。例如:
```
<td>
<h3>商品1</h3>
<p>这是商品1的介绍。</p>
<p>价格:99元</p>
<ul>
<li>好评度:5星</li>
<li>已售出:100件</li>
</ul>
<form action="#" method="post">
<label for="quantity">数量:</label>
<input type="number" id="quantity" name="quantity" value="1" min="1" max="10">
<br>
<button type="submit">加入购物车</button>
</form>
</td>
```
在上述代码中,``action``属性可以设置表单提交的目标地址,``method``属性可以设置表单提交的方法,``for``属性可以将标签与表单元素关联,``type``属性可以设置输入框的类型,``min``和``max``属性可以设置输入框的最小值和最大值,``button``标签可以创建一个按钮。
建立三个页面,第一个页面有一个用户名输入框和一个课程选择框,然后有一个提交按钮,通过提交后可以把输入内容传递到第二个页面中去; 第二个页面分析第一个页面传过来的课程参数,使用jquery的ajax方法读取不同的txt文件,把文件中的试题读取出来,使用createElement建立表单标签、 控件,设置其属性值和样式,能够把用户的输入信息和选择题的答案传递到第三个页面中; 第三个页面对第二个页面传过来的参数进行分析,与正确的答案进行比较,单选题正确一道给2分,多选题正确一道给5分,最后显示总分和用户得了多少分。并展示做错的题目与正确答案。
好的,这是一个比较完整的项目,需要用到前端的 HTML、CSS、JavaScript,还要用到后端的 PHP 等技术,需要分步骤来完成。
## 第一步:建立第一个页面
首先,在一个新建的 HTML 文件中,建立第一个页面的 HTML 结构:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>选择课程和输入用户名</title>
</head>
<body>
<form id="form1">
<label for="username">请输入用户名:</label>
<input type="text" id="username" name="username"><br><br>
<label for="course">请选择课程:</label>
<select id="course" name="course">
<option value="course1">课程1</option>
<option value="course2">课程2</option>
<option value="course3">课程3</option>
</select><br><br>
<input type="button" value="提交" id="submit">
</form>
</body>
</html>
```
这里使用了表单元素,有一个输入框和一个下拉框,还有一个提交按钮。需要注意的是,提交按钮的类型是 `button`,而不是 `submit`,这是因为我们要使用 AJAX 提交表单,需要自己写 JavaScript 代码来处理。
## 第二步:编写 JavaScript 代码
在 HTML 文件的 `<head>` 标签中添加如下代码:
```html
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<script>
$(function() {
// 点击提交按钮时触发
$("#submit").click(function() {
var username = $("#username").val();
var course = $("#course").val();
// 使用 AJAX 提交表单数据
$.ajax({
type: "POST",
url: "page2.php",
data: {
username: username,
course: course
},
success: function(msg) {
// 跳转到第二个页面
window.location.href = "page2.php";
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
console.log(XMLHttpRequest.status);
console.log(XMLHttpRequest.readyState);
console.log(textStatus);
}
});
});
});
</script>
```
这里使用了 jQuery 库来处理 DOM 和 AJAX 操作。当用户点击提交按钮时,会获取用户名和课程的值,然后使用 AJAX 提交到第二个页面 `page2.php`,并在成功的回调函数中跳转到该页面。
## 第三步:建立第二个页面
在同一目录下新建一个 `page2.php` 文件,用于处理第二个页面的逻辑。
首先,根据第一个页面提交过来的课程参数,读取对应的试题文件。假设我们有三个课程,对应的试题文件分别为 `course1.txt`、`course2.txt` 和 `course3.txt`。
```php
<?php
$course = $_POST['course'];
$file = fopen($course . '.txt', 'r');
$questions = array();
while (!feof($file)) {
$line = fgets($file);
$question = explode(',', $line);
$questions[] = $question;
}
fclose($file);
?>
```
这里使用了 PHP 的文件读写函数 `fopen` 和 `fgets`,将试题文件中的每一行读取出来,再使用 `explode` 函数将题目和选项分割开来,存储到一个数组中。
接下来,根据读取到的试题动态生成 HTML 表单元素。这里只演示单选题的代码,多选题类似,可以自行实现。
```php
<?php foreach ($questions as $index => $question): ?>
<p><?php echo $index + 1 . '.' . $question[0]; ?></p>
<ol>
<?php for ($i = 1; $i <= 4; $i++): ?>
<li>
<input type="radio" name="answer<?php echo $index; ?>" value="<?php echo $i; ?>">
<?php echo $question[$i]; ?>
</li>
<?php endfor; ?>
</ol>
<?php endforeach; ?>
```
这里使用了 PHP 的 `foreach` 循环和 `for` 循环,动态生成了题目和选项。需要注意的是,每个选项的 `name` 属性都不同,以便后面 JavaScript 代码处理用户的选择。
最后,在页面底部添加一个提交按钮,用于提交答案和跳转到第三个页面。
```html
<input type="button" value="提交" id="submit">
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<script>
$(function() {
// 点击提交按钮时触发
$("#submit").click(function() {
var username = "<?php echo $_POST['username']; ?>";
var course = "<?php echo $_POST['course']; ?>";
var answers = [];
// 获取用户答案
<?php foreach ($questions as $index => $question): ?>
var answer<?php echo $index; ?> = $('input[name="answer<?php echo $index; ?>"]:checked').val();
answers.push(answer<?php echo $index; ?>);
<?php endforeach; ?>
// 使用 AJAX 提交表单数据
$.ajax({
type: "POST",
url: "page3.php",
data: {
username: username,
course: course,
answers: answers
},
success: function(msg) {
// 跳转到第三个页面
window.location.href = "page3.php";
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
console.log(XMLHttpRequest.status);
console.log(XMLHttpRequest.readyState);
console.log(textStatus);
}
});
});
});
</script>
```
这里使用了第一个页面提交过来的用户名和课程参数,以及用户的答案,使用 AJAX 提交到第三个页面,并在成功的回调函数中跳转到该页面。
## 第四步:建立第三个页面
在同一目录下新建一个 `page3.php` 文件,用于处理第三个页面的逻辑。
首先,根据第二个页面提交过来的答案,与正确答案进行比较,计算用户得分。
```php
<?php
$course = $_POST['course'];
$file = fopen($course . '.txt', 'r');
$answers = array();
while (!feof($file)) {
$line = fgets($file);
$answer = explode(',', $line);
$answers[] = $answer[5];
}
fclose($file);
$score = 0;
$wrong_questions = array();
foreach ($_POST['answers'] as $index => $answer) {
if ($answer == $answers[$index]) {
if ($answer <= 4) {
$score += 2; // 单选题得 2 分
} else {
$score += 5; // 多选题得 5 分
}
} else {
$wrong_questions[] = $index + 1;
}
}
?>
```
这里使用了 PHP 的数组和循环,将正确答案存储到一个数组中,然后遍历用户的答案,与正确答案进行比较,计算用户得分,同时记录做错的题目。
接下来,根据用户的得分和做错的题目,动态生成 HTML 内容,并展示给用户。
```php
<p>你的得分是:<?php echo $score; ?></p>
<?php if (!empty($wrong_questions)): ?>
<p>你做错了以下题目:</p>
<ul>
<?php foreach ($wrong_questions as $index): ?>
<li><?php echo $index; ?></li>
<?php endforeach; ?>
</ul>
<?php else: ?>
<p>你没有做错任何题目!</p>
<?php endif; ?>
```
这里使用了 PHP 的条件语句和循环,根据用户的得分和做错的题目,动态生成了 HTML 内容。
## 总结
这是一个比较完整的项目,需要用到前端的 HTML、CSS、JavaScript,还要用到后端的 PHP 等技术。通过这个项目,我们可以学习到如何使用 AJAX 提交表单数据,并且动态生成 HTML 内容。同时,也可以学习到如何使用 PHP 处理表单数据,进行文件读写操作,以及数组、循环等基本语法。