最近做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+'&timestamp='+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内容又消失了~~
这是什么原因啊?

解决方案 »

  1.   

    问题在这句话上面
    <form action="?action=update" method="post">
    这句话 你把数据提交到?action=update里面做了什么操作啊
      

  2.   

    给submit添加一个onclick响应应该可以解决这个问题
      

  3.   

    我想通过这个上传到数据库~~
    如:
    if ($_GET['action'] == 'update') {
      exit('update');
    }
    如下,都不会显示update;我想应该是与jordan102所说的提交时已经刷新了吧,有什么解决方法吗?
      

  4.   

    如果想不刷新提交数据,是不是还要用ajax提交呢?
      

  5.   

    <input type="submit" name="submit" value="添加 "/>
    改为:
    <input type="button" name="submit" value="添加 "/>然后用你原来的方法用ajax提交到php页面。建议新建个php文件来处理,提交到数据库。
      

  6.   

    在 add.inc.php 里
    function updateSql() {
    alert('ddd');
    }
    <input type="button" name="submit" value="添加 " onclick="updateSql()"/>提示updateSql is not defined错误呢?
    因为刚学AJAX,不知道懂.是不是在一个页面上不好写两个AJAX,
    如果是你,你会怎么改这个啊.谢谢了~~
      

  7.   

    在 AJAX 工作环境中,表单的传统意义功能与异步通讯冲突,必须人为的回避
      

  8.   

    写到
    <script type="text/javascript">
    function updateSql() {
    alert('ddd');
    }
    </script>
    写到index.html里点击 button会提示'ddd',但是怎么用add_del.inc.php里面的ID呢?
      

  9.   

    add_del.inc.php里面还有ID。 不懂什么意思
      

  10.   

    jordan102
    ,Sorry,我搞错了.var txt = 'zhanshan-1234567-2011/10/7';用JS怎么将txt以-分成
    zhanshan
    1234567
    2011/10/7
    三段
    谢谢~
      

  11.   

    var arr = txtmember.value.split('-');