2012-11-14 163 views
0

任何人都可以请帮助我在此:添加类名表单提交后重新加载页面

我想添加一个类名/使用jquery更改div的CSS;我点击提交表单后。意思是,点击提交后,当页面重新加载这个类名/更改应该坚持目标元素。我正在使用PHP来获取提交的表单的值。 (没有ajax,但如果有必要,我可以修改我的代码)。我试图通过jQuery来做到这一点,但当页面重新加载的变化都消失了!

谢谢。

更新:以下是我正在处理的示例代码(so.php本身)。提交表单并重新加载页面后;说我想在CSS中添加一个类的输入被点击和管理风格:

<html> 
<head> 
</head> 
<body> 
<form id="myForm" action="so.php" method="get"> 
    <input name="Load" type="submit" value="Google" /> 
    <input name="Load" type="submit" value="MSN" /> 
    <input name="Load" type="submit" value="Yahoo" /> 
</form>  
<div id="container"> 
    <?php 
     if (isset($_GET['Load'])) { 
      $value = $_GET['Load']; 
      echo "<iframe width=\"560\" height=\"349\" src=\"http://www.{$value}.com\"></iframe>"; 
     } 
    ?> 
</div> 
</body> 
</html> 

UPDATE2:我试图通过@NoPyGod提供的逻辑和它的工作。但是,这是事情。我试图添加一个类到选定的按钮,以及更新ID为“hello”的div中的文本,一旦表单被提交并且页面被重新加载,被输入的值被点击或处于活动状态。这是我结束的一次,但一旦提交表格 所有输入都具有相同的类名称以及div中的文本也不会更新。

<html> 
<head> 
<?php if (isset($_GET['Load'])): ?> 
<script> 
    $(document).ready(function() { 
     $('#hello').text('Hello'); 
    }); 
</script> 
<?php endif; ?> 
</head> 
<body> 
<form id="myForm" action="so.php" method="get"> 
    <input class="<?php if (isset($_GET['Load'])) { echo "some_class"; } if (isset($_GET['Load1'])) { echo "some_class1"; }?>" name="Load" type="submit" value="Google" /> 
    <input class="<?php if (isset($_GET['Load'])) { echo "some_class"; } if (isset($_GET['Load1'])) { echo "some_class1"; }?>" name="Load1" type="submit" value="Rediff" /> 
    <input class="<?php if (isset($_GET['Load'])) { echo "some_class"; } if (isset($_GET['Load1'])) { echo "some_class1"; }?>" name="Load" type="submit" value="Yahoo" /> 
    <input class="<?php if (isset($_GET['Load'])) { echo "some_class"; } if (isset($_GET['Load1'])) { echo "some_class1"; }?>" name="Load1" type="submit" value="Sify" /> 
</form> 

<div id="container" > 
    <?php 
     if (isset($_GET['Load'])) { 
      $value = $_GET['Load']; 
      echo "<iframe width=\"560\" height=\"349\" src=\"http://www.{$value}.com\"></iframe>"; 
     } 
     if (isset($_GET['Load1'])) { 
      $value = $_GET['Load1']; 
      echo "<iframe width=\"560\" height=\"349\" src=\"http://www.{$value}.com\"></iframe>"; 
     } 
    ?> 
</div> 

<div id="hello"></div> 

</body> 
</html> 

回答

1

当提交页面时,设置一个变量,像这样

$was_submitted = true; 

然后在你的HTML做这样的事情

<div id="myid" class="<?php if ($was_submitted) { echo "some_class"; } ?>"> 

或者,如果你绝对坚持使用jQuery改变它包括在你的html -

<?php if ($was_submitted): ?> 

<script> 
    $(document).ready(function() { 
     $("#myid").addClass("some_class"); 
    }); 
</script> 

<?php endif; ?> 

更新:

<html> 
<head> 
</head> 
<body> 
<form id="myForm" action="so.php" method="get"> 
    <input name="Load" type="submit" value="Google" /> 
    <input name="Load" type="submit" value="MSN" /> 
    <input name="Load" type="submit" value="Yahoo" /> 
</form> 

    <!-- I changed this line below --> 

    <div id="container" class=<?php if (isset($_GET['Load'])) { echo "some_class"; } ?>> 
    <?php 
     if (isset($_GET['Load'])) { 
      $value = $_GET['Load']; 
      echo "<iframe width=\"560\" height=\"349\" src=\"http://www.{$value}.com\"></iframe>"; 
     } 
    ?> 
</div> 
</body> 
</html> 
+0

感谢您的快速回复。但请原谅我,因为我是PHP新手。您能否告诉我如何在提交表单时设置变量 – Dharma

+0

我需要查看用于处理表单提交的代码才能完成此操作。 – NoPyGod

+0

我更新了原始帖子中的代码。请看看,并建议我如何设置变量 – Dharma

相关问题