0

そのため、クリックされたアイコンに応じて次のページの背景を変更しようとしていますが、コードの何が問題なのかわかりません! これは単なるテスト ページです (おかしなコードで申し訳ありませんが、実際のサイト自体で必要です!)

<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">

 body   {

background: url('<?php echo $_GET['image']; ?>';

}


</style>


<script>
    function showWeather(Weather) {
     //alert(Weather);
        myform.weather.value=Weather;
    //  alert(Weather);

    // ._Weather
        myform.submit();


}
</script>


<link href="teststyle.css" rel="stylesheet" type="text/css">
</head>
<body background="images/gradientsky.jpg"> 
<div id="weather">

<ul id="nav-reflection">
<form method="post" action="cloudy_name.php" id="myform">
    <li class="button-color-1"><a href="cloudy_name.php?image=images/cloudysky.png" onclick="showWeather('cloudy');" title="My fancy link"><img src="images/cloudybubble.png" width="211" height="180" align="left"></a></li> 

    <input type="hidden" name="weather" value="whatever">
</form>
</ul>
</div>

</body>
</html>
4

3 に答える 3

1

ここでいくつかの問題があります。私はそれらに対処しようとします。

<form method="post" action="cloudy_name.php" id="myform">
        <li class="button-color-1"><a href="javascript:showWeather('cloudysky')" onclick="changeBgImage(images/cloudysky)" title="My fancy link"><img src="images/cloudybubble.png" width="211" height="180" align="left"></a></li>
</form>
  1. 「ul」ラッパーがありません。リストアイテムは単独では存在できません。
  2. あなたはshowWeather('cloudy')と言っています。'cloudysky'は完全なファイル名ではないので、cloudysky.jpgでしょうか?
  3. ユーザーがリンクをクリックして別のページに送信されているため、ユーザーが戻った後、ここでjavascriptを使用して行った変更は保持されません。
  4. document.getElementById(test)は、次のように文字列を参照する必要があります。document.getElementById( "test")

それらにショットを与えて、報告してください。

于 2012-04-20T19:58:10.017 に答える
0

changeBgImage 関数が文字列「image」を通過しませんでした

これを試して:

    <script type="text/javascript">
        function changeBgImage (image) { // added Image
            var element = document.getElementById('test');
            element.style.backgroundImage = "url('"+image+"')"; // added single qoutes around image
            // Took out window.location - see comments below for explanation
            return false;// Added to stop Link execution
        }
    </script>
</head>
<body>
<div id="test">
    <form method="post" action="cloudy_name.php" id="myform">
        <li class="button-color-1"><a href="#" onclick="showWeather('cloudy'); changeBgImage('images/cloudysky.png');" title="My fancy link"><img src="images/cloudybubble.png" width="211" height="180" align="left"></a></li>
    </form>
</div>

すべての JavaScript 関数を onclick に追加しましたshowWeatherchangeBgImage

以下のコメントを参照してください。

于 2012-04-20T20:07:41.893 に答える
-2

IDEA: リンク上で、php ファイルへのリンクを作成します。chg_bg.php?image=cloudy のようなもの

php ファイルで、背景を設定するコードを作成します。

<style>
    background: url('<php echo $_GET['image']; ?>';
</style>
于 2012-04-20T20:03:33.233 に答える