提交表单时隐藏DIV

时间:2014-04-16 07:36:39

标签: javascript php jquery html forms

我开发了一个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>

刷新时不会发生隐藏。请你帮我解决这个问题。

3 个答案:

答案 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。

相关问题