首页 > 解决方案 > jQuery .load() 不让我填写输入文本

问题描述

我是编码的菜鸟,我需要一些帮助。我有一个页面(index.php)检查购物车是否为空,或者如果它不为空,则使用 jQuery从另一个页面(data.php)检查。

如果它是空的,它会说它是空的,如果它不是空的,它会显示一个表单,您可以在其中输入您的姓名并提交。

当购物车为空时,它会显示表单,但由于刷新,我无法输入任何内容。想要解决此问题或替代方法。提前致谢!!

索引.php

<!DOCTYPE html>
<html lang='en'>

<head>
    <meta charset='UTF-8'>
    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
    <meta name='viewport' content='width=device-width, initial-scale=1.0'>
    <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js'></script>
    <title>Document</title>
</head>

<body>
    <script>
        $(function () {
            function loadData() {
                $('#loaddata').load('data.php');
            }
            setInterval(function () {
                loadData();
            }, 5000);
        });
    </script>
    <div id='loaddata'></div>
</body>

</html>

数据.php

<?php
if (empty($_SESSION['cart'])) {
    ?>
   <h1>Cart Empty</h1>
   <?php
} else {
    ?>
    <form action="" method="post">
    <input type="text" name="f_name">
    <input type="text" name="l_name">
    <input type="submit" value="submit">
    </form>
<?php
}
?>

标签: javascripthtmljquery

解决方案


你需要重新思考你的逻辑。您必须以某种方式知道何时更新您的#loaddata,而不是在设定的计时器上调用它。最佳做法是将loadData()所有添加到购物车并从购物车功能中删除。

根据您的代码,更简单的方法是在加载之前获取您的购物车是否为空,data.php并且仅当其状态已更改时才更新它。


推荐阅读