我开发了一个PHP表单,它使用mySQL查询自动提交数据并显示数据。我有一个div,我需要隐藏自动提交表格。由于页面是刷新的,隐藏的jQuery正在丢失。
表单代码:
<div id="map"><iframe src="url oof source" width="700" height="300" frameborder="0"></iframe></div><br />
<div>
<div class="dropdown">
<span style="color:#131787; font-size:2em; font-family:Arial, Helvetica, sans-serif;;">some text</span>
</div>
<div >
<form method="get" action="<?php echo $url = basename($_SERVER['PHP_SELF']); ?>">
<select name="country" onchange='this.form.submit()'>
<?php $result= mysql_query('Query'); ?>
<option value="x" selected>Select your destination</option>
<?php while($row= mysql_fetch_assoc($result)) { ?>
<option value="<?php echo htmlspecialchars($row['country']);?>" >
<?php echo htmlspecialchars($row['country']); ?>
</option>
<?php } ?>
<input type="hidden" name="action" value="submit" /><br /><br/>
</select>
</form>
</div>
</div>
自动提交后,它会捕获变量中的选项并显示数据。
提交时显示的一些数据示例:
<?php
if(isset($_GET["action"])) {
$var1= $wpdb->get_results("Query");
$var2= $wpdb->get_results("Query");
$var3= $wpdb->get_results("Query");
$var4= $wpdb->get_results("Query");
if (empty($var1))
{ echo '<h3 style="color:red;">No Results</h3>';}
else
{foreach ( $var11 as $var1 ) {
foreach ( $var22 as $var2 ){
}}}
?>
我试图用来隐藏div的脚本如下:
<script>$(document).ready(function() { $('#map').hide(); }</script>
刷新时不会发生隐藏。请你帮我解决这个问题。
答案 0 :(得分:3)
您可以将其添加到isset($_GET['action'])
条件,例如:
<?php
if (isset($_GET["action"])) {
$var1 = $wpdb - > get_results("Query");
$var2 = $wpdb - > get_results("Query");
$var3 = $wpdb - > get_results("Query");
$var4 = $wpdb - > get_results("Query");
if (empty($var1)) {
echo '<h3 style="color:red;">No Results</h3>';
} else {
foreach($var11 as $var1) {
foreach($var22 as $var2) {
}
}
}
echo '<script>$(document).ready(function() { $(\'#map\').hide(); });</script>';
}
?>
但是,这可能会更好:
<?php
$display = "block";
if (isset($_GET["action"])) {
$var1 = $wpdb - > get_results("Query");
$var2 = $wpdb - > get_results("Query");
$var3 = $wpdb - > get_results("Query");
$var4 = $wpdb - > get_results("Query");
if (empty($var1)) {
echo '<h3 style="color:red;">No Results</h3>';
} else {
foreach($var11 as $var1) {
foreach($var22 as $var2) {
}
}
}
$display = "none";
}
?>
然后当你展示div时,你可以使用:
<div id="map" style="display: <?php echo $display; ?>">...</div>
答案 1 :(得分:0)
这里有一个错误:
<script>$(document).ready(function() { $('#map').hide(); **}**</script>
代码应为:
<script>$(document).ready(function() { $('#map').hide(); **});**</script>
答案 2 :(得分:0)
难道你不能这样做吗?
<?php
if(isset($_GET["action"])) {
$var1= $wpdb->get_results("Query");
$var2= $wpdb->get_results("Query");
$var3= $wpdb->get_results("Query");
$var4= $wpdb->get_results("Query");
$vis="display:none;";
if (empty($var1))
{ echo '<h3 style="color:red;">No Results</h3>';}
else
{foreach ( $var11 as $var1 ) {
foreach ( $var22 as $var2 ){
}}}else
{
$vis="";
}
&GT;
html 你要隐藏的div
<div style="<?php echo $vis; ?>" >
</div>
或者你可以这样做:
<?php
if(isset($_GET["action"])) {
$var1= $wpdb->get_results("Query");
$var2= $wpdb->get_results("Query");
$var3= $wpdb->get_results("Query");
$var4= $wpdb->get_results("Query");
if (empty($var1))
{ echo '<h3 style="color:red;">No Results</h3>';}
else
{foreach ( $var11 as $var1 ) {
foreach ( $var22 as $var2 ){
}}}else
{
?>
<div>
<div class="dropdown">
<span style="color:#131787; font-size:2em; font-family:Arial, Helvetica, sans-serif;;">some text</span>
</div>
<div >
<form method="get" action="<?php echo $url = basename($_SERVER['PHP_SELF']); ?>">
<select name="country" onchange='this.form.submit()'>
<?php $result= mysql_query('Query'); ?>
<option value="x" selected>Select your destination</option>
<?php while($row= mysql_fetch_assoc($result)) { ?>
<option value="<?php echo htmlspecialchars($row['country']);?>" >
<?php echo htmlspecialchars($row['country']); ?>
</option>
<?php } ?>
<input type="hidden" name="action" value="submit" /><br /><br/>
</select>
</form>
</div>
</div>
<?php } ?>
使用php时,这个结果甚至不需要javascript。