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 に答える