所以我想尝试使用一个PHP文件来执行2-3种不同的功能。
基本上当页面加载(test.php)时,它将在页面上加载通用的html元素。它将加载一个jquery选项卡ui以及一个从sql数据库填充的组合框。
以上两个html元素我都运行正常,没有问题但是jquery ui选项卡和sql / combo框生成的生成都在单独的PHP文件中。我想将这两个步骤合并为一个文件。
在初始页面加载时,它从上面的步骤加载两个元素,但是如果组合框有onChange事件或onClick事件,我需要让页面发布到自身(test.php)。我一直在阅读有关使用isset()或empty()的内容,但我并不确定如何以正确的方式解决这个问题。
此操作的任何建议或示例?我很确定这已被多次询问,但到目前为止我还没有找到解决方案。
dropdown.php
<?php
//Create the DB populated dropdown list
$con = mysql_connect("localhost", "_user", "_pass");
$tables = mysql_query("SHOW TABLES FROM _dropdown");
mysql_select_db("items", $con);
echo '<select id="Type" onChange="dropChange();">';
echo '<option value="" style="display:none;"></option>';
while ($row = mysql_fetch_row($tables)) {
foreach($row as $value){
$i = mysql_query("SELECT * FROM $value ORDER BY name ASC", $con);
echo '<optgroup label="'.ucfirst($value).'"></optgroup>';
while($row2 = mysql_fetch_row($i)){
echo '<option id="'.$value.'" value="'.$row2[0].'">'.$row2[0].'</option>';
}
}
}
echo '</select>';
mysql_close($con);
?>
tabs.php
<?php
$con = mysql_connect("localhost", "_user", "_pass");
mysql_select_db("_database", $con) or die (mysql_error());
$result = mysql_query("SELECT * FROM _table") or die (mysql_error());
$num_rows = mysql_num_rows($result);
mysql_close($con);
echo '
<script language="javascript" type="text/javascript">
$( "#tabs" ).tabs({
beforeLoad: function( event, ui ) {
ui.jqXHR.error(function() {
ui.panel.html(
"Couldn\'t load this tab. We\'ll try to fix this as soon as possible. " +
"If this wouldn\'t be a demo." );
});
}
});
</script>
<ul>
<li id="S1"><a href="#S1">S1</a></li>
<li id="S2"><a href="#S2" style="color:red; text-decoration:line-through">S 2</a></li>
<li id="S3"><a href="#S3" style="color:red; text-decoration:line-through">S 3</a></li>
</ul>
<div id="breadcrumbs"></div>
<div id="s1">
</div>
<div id="s2">
</div>
<div id="s3">
</div>
';
?>
所以我试图让“test.php”将这两个脚本组合成一个页面(test.php)并执行这两个功能。而不是在dropdown.php页面中使用 onChange =“dropChange();” ,而不是像:
onChange='<? php $_POST["PHP_SELF"] ?>'
答案 0 :(得分:0)
由于您已经在使用jquery,因此您可以在页面顶部添加一个事件监视器,以使页面认为表单已被提交,就像单击了提交按钮一样 -
$(document).ready(function() {
$("#id_of_your_drop_down").onChange(function(event){
event.preventDefault(); //prevents the usual redraw behavior
$("#id_of_your_submit_button").click() //triggers form submission for that submit
}
});
});
你可以把$(“#id_of_your_submit_button”)。click()代替dropChange();但上述方法是更好的做法。