【发布时间】:2015-04-21 21:20:15
【问题描述】:
我正在研究 PHP。我有三个动态下拉框。在第一个选择值的基础上,我更改了第二个选择框的内容,第三个选择框的内容相同。我已经通过 javascript 实现了这个功能。我遇到的问题是我的代码在本地主机上运行良好,但是当我在在线服务器上上传代码时,页面会不断重新加载。让我先分享我的代码,以便您了解我在说什么
javascript
<script>
var valnew = <?php echo $cat3; ?> ;
function reload() {
var val = form.cat.options[form.cat.options.selectedIndex].value;
var text = form.cat.options[form.cat.options.selectedIndex].text;
self.location = 'douglas-college.php?cat=' + val + '&text=' + text
}
function reload3(form) {
var val = form.cat.options[form.cat.options.selectedIndex].value;
val2 = form.subcat.options[form.subcat.options.selectedIndex].value;
self.location = 'douglas-college.php?cat=' + val + '&cat3=' + val2;
}
function reload4(form) {
var val3 = form.subcat3.options[form.subcat3.options.selectedIndex].value;
var text = form.subcat3.options[form.subcat3.options.selectedIndex].text;
self.location = 'course-title.php?inst_id=' + val3 + '&coursecode=' + valnew;
}
</script>
<?php
$query1 = mysql_query("SELECT * FROM course");
echo "<select name='cat' class='input-large form-control' onchange=\"reload(this.form)\">";
if (!isset($_GET['cat'])) {
echo '<option>Select one</option>';
while ($row = mysql_fetch_array($query1)) {
echo '<option value="' . $row['courseID'] . '">' . $row['courseName'] . '</option>';
}
} else {
while ($row = mysql_fetch_array($query1)) {
echo '<option value="' . $row['courseID'] . '">' . $row['courseName'] . '</option>';
}
}
echo "</select>";
?>
我现在只添加了一个选择框 php 代码。我可以根据要求分享整个代码。我只使用一个下拉菜单检查了该页面,但页面仍在不断刷新。表示页面一直在不断地重新加载
【问题讨论】:
-
请stop using
mysql_*functions。它们不再被维护并且是officially deprecated。请改为了解prepared statements,并使用PDO。检查浏览器控制台是否有 JavaScript 错误。 -
您是否为您的代码开启了错误报告功能?
-
你能分享正在发生的页面或以某种方式做 jsfiddle 以便我们看看正在运行的代码吗?
-
@oserk 好的,等一下
标签: javascript php jquery html ajax