我开发了一个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>
刷新后不会隐藏。你能帮我一下吗。
您可以将其添加到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>
这里有一个错误:
<script>$(document).ready(function() { $('#map').hide(); **}**</script>
代码应该是:
<script>$(document).ready(function() { $('#map').hide(); **});**</script>
你就不能这样做吗?
<?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="";
}
?>
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。