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>
4

1 回答 1

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>
于 2012-11-14T03:59:12.330 回答