最近做AJAX表单提交时,发现一个问题,提交后什么都消失,很奇怪,帮忙看看~
index HTML代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>test</title>
<script language="javascript" src="ajax.js"></script>
</head>
<body>
<div id="member">
<div id="content_head">
<h5>部门(请选择属于自己的部门)</h5>
<select id="txtmember" name="txtmember">
<option value="0" selected="selected">--选项--</option>
<option value="DIP">DIP</option>
<option value="DIPME">DIPME</option>
</select>
</div>
<div id="content"> </div>
</div>
</body>
</html>
AJAX.JS代码:window.onload = function() {
var txtmember = document.getElementById('txtmember');
var content = document.getElementById('content');
txtmember.onchange = function() {
var xhr = createXHR();
var urlString = 'dep='+txtmember.value+'×tamp='+new Date().getTime();
xhr.open('GET','add.inc.php?'+urlString,true);
xhr.onreadystatechange=function() {
if ( xhr.readyState == 4 && xhr.status == 200) {
var text=xhr.responseText;
content.innerHTML = text;
}
};
xhr.send();
}
};
//XHTTP
function createXHR() {
return window.XMLHttpRequest?
new XMLHttpRequest():
new ActiveXObject("Microsoft.XMLHTTP");
}add.inc.php代码:
<?php
//从AJAX接收数据
if ($_GET['dep']) {
$_depart_title = $_GET['dep'].'人员的添加:';
} else {
$_depart_title = '请从上面的选择按钮选择部门';
}
?>
<h5><span><?php echo $_depart_title?></span></h5>
<form action="?action=update" method="post">
<table id="CloneNodeShow">
<tbody>
<tr><th>员工号</th><th>姓名</th><th>班别</th></tr>
<tr>
<td><input type="text" name="txtmember" /></td>
<td><input type="text" name="txtusername" /></td>
<td>
<select name="txtday" id="txtday">
<option value="白班" selected="selected">白班</option>
<option value="夜班">夜班</option>
</select>
</td>
</tr>
</tbody>
</table>
<table>
<tr><td class="submit"><input type="submit" name="submit" value="添加 "/></td></tr>
</table>
</form>以上,当我通过选择框选择DIP部门时,可以通过AJAX正常将add.inc.php里面的内容显示到index.htm里的DIV=content中,但是当我填入数据点提交之后,出现了问题,选择框里面的数据又变成了"选项",而且AJAX显示出来的add.inc.php内容又消失了~~
这是什么原因啊?
index HTML代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>test</title>
<script language="javascript" src="ajax.js"></script>
</head>
<body>
<div id="member">
<div id="content_head">
<h5>部门(请选择属于自己的部门)</h5>
<select id="txtmember" name="txtmember">
<option value="0" selected="selected">--选项--</option>
<option value="DIP">DIP</option>
<option value="DIPME">DIPME</option>
</select>
</div>
<div id="content"> </div>
</div>
</body>
</html>
AJAX.JS代码:window.onload = function() {
var txtmember = document.getElementById('txtmember');
var content = document.getElementById('content');
txtmember.onchange = function() {
var xhr = createXHR();
var urlString = 'dep='+txtmember.value+'×tamp='+new Date().getTime();
xhr.open('GET','add.inc.php?'+urlString,true);
xhr.onreadystatechange=function() {
if ( xhr.readyState == 4 && xhr.status == 200) {
var text=xhr.responseText;
content.innerHTML = text;
}
};
xhr.send();
}
};
//XHTTP
function createXHR() {
return window.XMLHttpRequest?
new XMLHttpRequest():
new ActiveXObject("Microsoft.XMLHTTP");
}add.inc.php代码:
<?php
//从AJAX接收数据
if ($_GET['dep']) {
$_depart_title = $_GET['dep'].'人员的添加:';
} else {
$_depart_title = '请从上面的选择按钮选择部门';
}
?>
<h5><span><?php echo $_depart_title?></span></h5>
<form action="?action=update" method="post">
<table id="CloneNodeShow">
<tbody>
<tr><th>员工号</th><th>姓名</th><th>班别</th></tr>
<tr>
<td><input type="text" name="txtmember" /></td>
<td><input type="text" name="txtusername" /></td>
<td>
<select name="txtday" id="txtday">
<option value="白班" selected="selected">白班</option>
<option value="夜班">夜班</option>
</select>
</td>
</tr>
</tbody>
</table>
<table>
<tr><td class="submit"><input type="submit" name="submit" value="添加 "/></td></tr>
</table>
</form>以上,当我通过选择框选择DIP部门时,可以通过AJAX正常将add.inc.php里面的内容显示到index.htm里的DIV=content中,但是当我填入数据点提交之后,出现了问题,选择框里面的数据又变成了"选项",而且AJAX显示出来的add.inc.php内容又消失了~~
这是什么原因啊?
解决方案 »
- PHP编程 网页上获取不了中文 都是???,但是phpadmin里数据库显示中文
- PHP 5.4正式版重要新特性
- 各位大侠,帮帮忙,一段代码...谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢!!!!!!!!!!
- 大家快来帮我看看这是怎么回事
- html2pdf 一个严重的问题
- 高分求《《高手》》分析一统统计原理,如何作弊(已经做到拨号获取不同IP,然后网页,然后断开,再次拨号)
- session文件的格式问题
- 动态页面php不能实现,可以和java或jsp混合制做网站吗?
- 谁告诉我,写什么程序好????????????
- 资源管理器占用端口443,何如解决
- 文件上传失败,代码报错如下
- 模糊查询后内容分页显示,显示下一页的那条语句要传递什么参数
<form action="?action=update" method="post">
这句话 你把数据提交到?action=update里面做了什么操作啊
如:
if ($_GET['action'] == 'update') {
exit('update');
}
如下,都不会显示update;我想应该是与jordan102所说的提交时已经刷新了吧,有什么解决方法吗?
改为:
<input type="button" name="submit" value="添加 "/>然后用你原来的方法用ajax提交到php页面。建议新建个php文件来处理,提交到数据库。
function updateSql() {
alert('ddd');
}
<input type="button" name="submit" value="添加 " onclick="updateSql()"/>提示updateSql is not defined错误呢?
因为刚学AJAX,不知道懂.是不是在一个页面上不好写两个AJAX,
如果是你,你会怎么改这个啊.谢谢了~~
<script type="text/javascript">
function updateSql() {
alert('ddd');
}
</script>
写到index.html里点击 button会提示'ddd',但是怎么用add_del.inc.php里面的ID呢?
,Sorry,我搞错了.var txt = 'zhanshan-1234567-2011/10/7';用JS怎么将txt以-分成
zhanshan
1234567
2011/10/7
三段
谢谢~