innerhtml立刻消失了

时间:2015-02-15 19:40:07

标签: javascript

当我单击“保存”按钮时,它会将数据存储到数据库中,它会将成功插入的注释与其他值一起显示,但它会立即从我的浏览器中消失。当我从浏览器中观看代码视图时没有成功插入注释的迹象,我的意思是没有innerhtml的迹象

注意:但是当我在不使用-table-tag的情况下制作主页面时,它可以正常工作。

请帮助我......

这是主文件

<!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=utf-8" />

    <script src="../script/v_ac.js" type="text/javascript"></script>
    </script>

    <title>Test3</title>
</head>

<body>
    <form id="myForm" method="post">
        <table>
            <tr>
                <td>
                    Amount:</td>
                <td>
                    <input type="number" name="amount" id="amount" value="" />
                </td>
            </tr>
            <tr>
                <td>
                    Detail:</td>
                <td>
                    <input type="text" name="detail" id="detail" value="" />
                </td>
            </tr>
            <tr>
                <td>
                </td>
                <td>
                    <button id="sub" onclick="j_insert()" value="save">Save</button>
                </td>


     </tr>
    </table>
</form>
<div id="b4"></div>

这是javascript文件

function j_insert() {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.open("GET", "../admin/ac_voucher_insert.php?company=" + "&amount=" + document.getElementById("amount").value + "&detail=" + document.getElementById("detail").value, false);
    xmlhttp.send();
    var a = xmlhttp.responseText
    document.getElementById("b4").innerHTML = a;
}

这是php文件

<?php require_once('../Connections/localhost.php'); ?>
<?php
$d1 = $_GET['amount'];
$d2 = $_GET['detail'];

if (isset($_GET['company'])) {
    $sql = sprintf("INSERT INTO ac_voucher (amount, detail)    
     VALUES('$d1','$d2')");
    mysql_select_db($database_localhost, $localhost);
    $result = mysql_query($sql, $localhost);
    if ($result) {
        echo
            "Successfully Inserted" . "<br/>"
            . $d1 . "<br/>"
            . $d2 . "<br/></tr></td></table>";
    } else {
        echo 'Insert Failed' . '<br/>'
            . $d1 . '<br/>'
            . $d2 . '<br/>';
    };
} else {
    echo 'Insert Failed..!' . '<br/>'
        . 'May be isset value is not correct'
        . $d1 . '<br/>'
        . $d2 . '<br/>';
}
mysql_close($localhost)
?>

2 个答案:

答案 0 :(得分:0)

在使用响应之前,您必须检查status和readyState。

答案 1 :(得分:0)

像这样

xmlhttp.onreadystatechange = function(){
  if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    document.getElementById("b4").innerHTML = xmlhttp.responseText;
    }
  }