さて。ドットインストールでプログラミング学習中に
気付いたお話を1つ。
お問合せ管理システムを作ろう (全21回) #15 データを削除してみよう (1)
問題の内容
次のコードを書いていた時のことです。
[php]
<script>
$(function() {
$(‘.deleteLink’).click(function() {
if (confirm("削除してもよろしいですか?")) {
$.post(‘./delete.php’, {
id: $(this).data(‘id’)
}, function(rs) {
$(‘#entry_’ + rs).fadeOut(800);
});
}
});
});
</script>
[/php]
コードの詳細は割愛しますが、
要は、phpファイルを読み込んで、jQueryでブラウザ上に
表示されている文字列をfadeOutさせるという内容です。
最初はドットインストールを書き写し、
次にコードをまるまるコピペ。
でもjQueryは動作しない。
なぜ?why?
解決方法
たくさんの方に解決方法を聞いて回って、
最後に分かった方法がコレ↓
WebにアップロードするファイルはBOMなしで保存すること。
個人的にエディタソフトのファイルはTeraPadを使用しています。
TeraPadではUTF-8の文字コードに2種類あるようです。
- UTF-8 BOMあり
- UTF-8N BOMなし
上の画像のように、TeraPadを立ち上げて、
表示
↓
オプション
↓
文字コード
↓
初期文字コードをUTF-8N
にしておく必要があります。
これUTF-8Nにしておくと、jQueryのfadeOutも
動作するようになりました
参考サイト
PHP工房 UTF-8使用時の注意点(BOMあり、無し)
この本↓の843ページにもBOMのエラーについて
言及されていますね。