1

これは前の質問のフォローアップです。

クリックするとアイコンが表示され、アイコンが変化して呼び出しgo.php?go= ます もう一度クリックすると、アイコンは元のアイコンに戻り、呼び出しますgo.php?stop=

これは機能します。現在、go.php は正しい情報をテキスト ファイルに書き込むだけです。理想的には、go.php からの出力が、アイコンを持つ親ページの DIV に反映されるようにしたいと考えています。

それ、どうやったら出来るの ?

これは私がこれまでに持っているものです..

<script language="javascript">
$(function () {
    $('a.tip').on(' click', function () {
        var $this = $(this),
            container = $('#x')
            prevHTML = container.html(),
            req = {};

        if ( $this.hasClass('go') ) {
            $this.find('img').attr('src', 'images/go.gif');
            $this.removeClass('go');
            req = $.ajax({
                url: 'go.php?go=' + $this.attr('id'),
                type: 'get',
                success: function ( data ) {
                    container.html(x);
                    $this.removeClass('go');
                }
            });
        } else {
            $this.find('img').attr('src', 'images/stop.gif')
                .end().addClass('go');
            req = $.ajax({
                url: 'go.php?stop=' + $this.attr('id'),
                type: 'get',
                success: function ( data ) {
                    container.html( x );
                    $this.removeClass('go');
                }
            });
        }
    });
});
</script>    

<a href='#' class='tip' id='4a' onclick=\"load('#');return false;\">
    <img src='images/go.gif'>
</a>
<a href='#' class='tip' id='6a' onclick=\"load('#');return false;\">
    <img src='images/go.gif'>
</a>
<a href='#' class='tip' id='8a' onclick=\"load('#');return false;\">
    <img src='images/go.gif'>
</a>

go.php には以下が含まれます。

<?php
   $s = (isset($_REQUEST['go'])) ? "GO".$_REQUEST['go'] : "STOP".$_REQUEST['stop'];
   $myFile = "TESTTEST.txt";
   $fh = fopen($myFile, 'w') or die("can't open file");
   $stringData = $s;
   fwrite( $fh, $stringData );
   fclose( $fh );
   echo $s;
?>

更新:これはうまくいくようです:

<script language="javascript">
$(function () {
    $('a.tip').on(' click', function () {
        var $this = $(this),
            container = $('#x')
            prevHTML = container.html(),
            req = {};

        if ($this.hasClass('go')) {
            $this.find('img').attr('src', 'images/ok.gif');
            $this.removeClass('go');
            req = $.ajax({
                url: 'go.php?go=' + $this.attr('id'),
                type: 'get',
                success: function (data) {
                    container.html(data);
                    $this.removeClass('go');
                }
            });
        } else {
            $this.find('img').attr('src', 'images/error.gif')
                .end().addClass('go');
            req = $.ajax({
                url: 'go.php?stop=' + $this.attr('id'),
                type: 'get',
                success: function (data) {
                    container.html(data);
                }
            });
        }
    });
});
</script>
4

2 に答える 2

2

この行を変更するだけです:

container.html(x);

これに:

container.html(data);

dataAJAX リクエストから返されたテキストを含む変数です。

于 2013-01-30T12:57:09.427 に答える
0
container.html(x);

になるはずだった

container.html(data);
于 2013-01-30T13:00:38.180 に答える