javascript - 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
}
?>
解决方案
你需要重新思考你的逻辑。您必须以某种方式知道何时更新您的#loaddata
,而不是在设定的计时器上调用它。最佳做法是将loadData()
所有添加到购物车并从购物车功能中删除。
根据您的代码,更简单的方法是在加载之前获取您的购物车是否为空,data.php
并且仅当其状态已更改时才更新它。
推荐阅读
- python - 使用调度程序,其中时间存储在列表中,函数的输入也存储在列表中
- generics - Grails TypeChecked / CompileStatic / GrailsCompileStatic
- prolog - 使用序言的运行长度编码
- c++ - asio set_password_callback() 方法是什么?
- ios - react-native run-ios 构建失败:CompileC RCTBaseTextInputView.o
- scala - Scala 测试错误:@Rule 必须是公开的
- r - == 给出奇怪的结果 R
- sharepoint - 使用 CSOM 在 Sharepoint 2019 上查询项目权限
- angular - Angular 无法将结果转换为对象 - 是 IActionResult 吗?
- excel - 将命名范围值分配给变量(Excel VBA) - 新手