在提交表单并重新加载页面后添加类名

时间:2012-11-14 03:56:51

标签: php forms

任何人都可以帮助我:

我正在尝试添加一个类名/使用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 个答案:

答案 0 :(得分: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>
相关问题