正在回答
同学你好,1. 可能是环境或缓存的问题导致的。
2. form表单中< button >标签就相当于< input type=“submit” >,一点击就会提交表单;所以会出现同学描述的情况。则建议同学使用< input type=“button” >,则点击就不会提交表单,这样就可以更灵活的使用js处理一些业务。修改后代码如下所示:
<input type="button" onclick="loc_index()" value="返回首页">
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
<!-- 留言板 发表/编辑 留言模板代码 -->
<div class="buttom">
<form action="#" method="post">
<table>
<tr>
<th colspan="2" class="title">发布内容</th>
</tr>
<input type="hidden" name="id" value="<?php echo isset($id)? $id:'';?>">
<tr>
<th><label>用户名:</label></th>
<th><input type="text" name="user_name" required="required" value="<?php echo isset($info)? $info['user_name']:'';?>"></th>
</tr>
<tr>
<th><label>标题:</label></th>
<th><input type="text" name="title" required="required" value="<?php echo isset($info)? $info['title']:'';?>"></th>
</tr>
<tr>
<th><label>内容:</label></th>
<th></th>
</tr>
<tr>
<th colspan="2"><textarea name="content" rows="6" cols="30" required="required"><?php echo isset($info)? $info['content']:'';?></textarea></th>
</tr>
<tr>
<th></th>
<th>
<input type="submit" name="pubMsg" value="提交">
<button onclick="loc_index()">返回首页</button>
</th>
</tr>
</table>
</form>
</div>
<!--index.php代码-->
<!--
导入文件列表:
./common_fun.php:
留言板常用函数:get_msgs($filename)
./head.php:
留言板头部模块
./top.php:
留言板说明模块
./tail.php:
留言板尾部模块
-->
<?php
require_once "./common_fun.php";
header("content-type:text/html;charset=utf-8");
date_default_timezone_set("PRC");
$filename = "../msg.txt";
$msgs = get_msgs($filename);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>imooc留言板</title>
<link rel="stylesheet" type="text/css" href="../css/common.css">
<link rel="stylesheet" type="text/css" href="../css/index.css">
<script type="text/javascript" src="../js/index.js"></script>
<script type="text/javascript">
function loc_add(){
location.href = "./add.php";
}
</script>
</head>
<body onload="init()">
<? $img_src = "../img/logo.png";?>
<?php include_once "./head.php";?>
<div class="body">
<?php
$title = "慕课留言板,欢迎您!";
$introduction = "慕课网是垂直的互联网IT技能免费学习网站。以独家视频教程,在线编程工具,学习计划,问答社区为核心特色。在这里,你可以找到最好的互联网技术牛人,也可以通过免费的在线公开视频课程学习国内领先的互联网IT技术。";
?>
<?php include_once "./top.php";?>
<div class="mid">
<?php
if(is_array($msgs) && count($msgs)>0):
?>
<table>
<thead>
<tr>
<th>编号</th>
<th>用户名</th>
<th>标题</th>
<th>时间</th>
<th>内容</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php
$i = 1;
foreach($msgs as $key => $value):
?>
<tr>
<td>
<?php echo $i++;?>
</td>
<td>
<?php echo $value['user_name']; ?>
</td>
<td>
<?php echo $value['title'];?>
</td>
<td>
<?php echo date("Y/m/d H:i:s",$value['time']);?>
</td>
<td>
<?php echo $value['content'];?>
</td>
<td><button name="edit" value="<?php echo $key;?>">编辑</button>|<button name="delete" value="<?php echo $key;?>">删除</button></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php endif; ?>
<button class="add" onclick="loc_add()">我要留言</button>
</div>
</div>
<?php include_once "./tail.php";?>
</body>
</html>
<!--index.js代码-->
/*
为每个 edit 和 delete 按钮添加相应的 onclick 事件
*/
function init(){
var edit_objs = document.getElementsByName("edit");
var delete_objs = document.getElementsByName("delete");
for(var i=0;i<edit_objs.length;i++){
edit_objs[i].onclick = function(){
fromPost("./edit.php",this.value);
}
}
for(var i=0;i<delete_objs.length;i++){
delete_objs[i].onclick = function(){
var msg = "您确认删除当前留言吗?";
if(confirm(msg) == true){
fromPost("./delete.php",this.value);
}
}
}
}
/*
生成 edit 和 delete 操作使用的表单,
表单内容包括 post 方式提交,以及用于定位需要操作留言的 id
并将其提交给相应的 php
*/
function fromPost(URL, id){
var temp = document.createElement("form");
temp.action = URL;
temp.method = "post";
temp.style.display = "none";
var input = document.createElement("input");
input.name = "op_id";
input.value = id;
temp.appendChild(input);
document.body.appendChild(temp);
temp.submit();
document.body.removeChild(temp);
}
<!--edit.php代码-->
<!--
导入文件列表:
./common_fun.php:
留言板常用函数:get_msgs($filename)
./head.php:
留言板头部模块
./top.php:
留言板说明模块
./buttom.php:
留言板 发表/编辑 模块
./tail.php:
留言板尾部模块
-->
<?php
require_once "./common_fun.php";
header("content-type:text/html;charset=utf-8");
date_default_timezone_set("PRC");
$filename = "../msg.txt";
$msgs = get_msgs($filename);
/*
根据 index.php 和 edit.php 页面提交 id 的 POST 键名不同来决定是进行 留言展示 还是 编辑留言 功能。
前者键名为 op_id
后者键名为 id
*/
if(isset($_POST['op_id'])){
$id = $_POST["op_id"];
$info = $msgs[$id];
}
if(isset($_POST['pubMsg'])){
$id = $_POST["id"];
$user_name = $_POST["user_name"];
$title = strip_tags($_POST["title"]);
$content = strip_tags($_POST["content"]);
$time = time();
$new_data = compact("user_name","title","content","time");
$msgs[$id] = $new_data;
if($id == NaN){
echo "You are right!<br>";
}
$msgs = serialize($msgs);
if(file_put_contents($filename, $msgs)){
echo "
<script>
alert('编辑成功!!!');
location.href='./index.php';
</script>";
}else{
echo "
<script>
alert('编辑失败!!!');
location.href='./index.php';
</script>";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Edit</title>
<link rel="stylesheet" type="text/css" href="../css/common.css">
<link rel="stylesheet" type="text/css" href="../css/edit.css">
<script type="text/javascript">
function loc_index(){
location.href = "./index.php";
}
</script>
</head>
<body onload="";>
<?php $img_src = "../img/logo.png";?>
<?php include "./head.php";?>
<div class="body">
<?php
$title = "既然来了,就说点什么吧~~~~~";
$introduction = "把你想说的话写在下面。标注好你的姓名,主题,点击提交按钮发送给我们,让小伙伴们知道你在想什么。";
?>
<?php include_once "./top.php";?>
<?php include_once "./buttom.php";?>
</div>
<?php include_once "./tail.php";?>
</body>
</html>
- 参与学习 人
- 提交作业 626 份
- 解答问题 4930 个
想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星