これは前の質問のフォローアップです。
クリックするとアイコンが表示され、アイコンが変化して呼び出し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>