1

我有一个 html 页面,其中包含一个显示来自外部 php 文件的 html 的 div。在我向 html 页面添加 DOCTYPE 声明之前,它工作得很好。页面继续运行,除了外部内容没有出现在 div 中。

<!DOCTYPE HTML>
<html dir="ltr" lang="en-US">
<head>

<title>Test Page</title>

<!--meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"-->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">

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

    function getinfo()
        {
        $.post('prodinfo.php', { prodcode: prodcodeform.prodcodevar.value},
            function(output)
            {
            $('#prodinfo').html(output).show;
            });
        }

    function hideinfo()
        {
        $('#prodload').hide();
        $('#openprodinfo').show();
        }

    function showinfo()
        {
        $('#prodload').show();
        $('#openprodinfo').hide();
        }
</script>
</head>
<body>
<input style="position:relative;" type="button" class="button" id="openprodinfo" title="Open" value="INFO" onclick="showinfo();">
<DIV id="prodload" style="position:absolute;margin-left:auto;margin-right:auto;display:none;text-align:center;background-color:#000000;z-index:200;border:1px solid #4e443b;">

    <div id="prodinfo" style="position:relative;display:block;top:0;width:1000px;height:820px;background-color:#ffffff;margin-left:auto;margin-right:auto;">
    </div>

    <form name="prodcodeform">
    <input type="text" readonly="readonly" id="prodcodevar" name="prodcodevar" value="nil" >
    </form>

    <div ID="prodinfobutton" style="position:relative;">
    <input  style="position:relative;" type="button" class="button" id="closeprodinfo" title="Close" value="CLOSE" onclick="document.getElementById('prodcodevar').value='nil'; hideinfo(); ">
    </div>

    <input type="button" id="button001" value="ONE" onclick="document.getElementById('prodcodevar').value='item1'; getinfo();">

    <input type="button" id="button002" value="TWO" onclick="document.getElementById('prodcodevar').value='item2'; getinfo();">


</DIV>


</body>
</html>
4

2 回答 2

2

您正在切换到标准模式,因此您的浏览器不再玩与 Internet Explorer 4 兼容的游戏。

prodcodeform.prodcodevar.value将出错,因为prodcodeform未定义。

您不会为文档中具有 id 或 name 的每个元素获取一个全局变量。

改变:

<form name="prodcodeform">

<form id="prodcodeform" method="post" action="prodinfo.php">

...并在发布非 Ajax 请求时让它做一些理智的事情(将它移动到按钮周围,让它们提交按钮,如果 JS 成功则取消默认事件)。

然后加:

var prodcodeform = document.getElementById('prodcodeform');

在您尝试使用该变量之前。

于 2012-05-04T15:36:31.150 回答
0

你开始你的身体,</body>而不是<body>

于 2012-05-04T15:34:36.577 回答