HTMLを出力するPHPファイルがあります。PHPで作成されたHTMLがシーケンス外で作成される
構成を簡単にするため、私はsecond
PHPファイルをfirst
PHPファイルに入れました。私の最初のPHPファイルで
<?
$myArray = array("key1"=>"value 1","key2"=>"value 2","key3"=>"value 3");
?>
を私は次のようにHTML出力が生成されますが
<? include("second.php"); ?>
<label>Select here:
<select id='mySelect'>
<? foreach ($myArray as $keyString=>$valueString) { ?>
<option value='<?= $keyString; ?>'><?= $valueString; ?></option>
<? } ?>
</select>
</label>
を以下している:次のようにこのインクルードファイルは、単純に配列定義が含まれてい
<label>Select here:
<select id='mySelect'>
</select>
<option value='key1'>value 1</option>
<option value='key2'>value 2</option>
<option value='key3'>value 3</option>
</label>
下に表示されているオプションのテキストを空の選択ドロップダウンとして表示します。
私はそれが判明調査の後、[更新]
...
私は問題もなく、この前に何度も行っていると確信しているとして、これは愚かなと単純なものであると確信していますこれはFancyBox内にfirst
PHPページを表示した場合にのみ発生します。直接ロードすると、期待通りにオプションが<select>
に含まれています。
次のようにFancyBoxは、(画像がFancyBoxがオンに開くことを背景ページ上にあり、それはfirst.php又はsecond.phpの一部ではない)画像のonClickイベントを介して、JavaScriptを介して開放される:
詳細についてはfunction openFirstPHP() {
$.fancybox({
href: "/first.php",
type: "ajax",
afterShow: function() {
// do some setting of some radio buttons' states - which works fine
}
});
}
、私はiframe内ではなく、このようfirst.php
呼び出すまたは何がということです理由:私は(first.js
に通常の<SCRIPT>
タグとfirst.php
に含まれている)している私のJavaScriptで
<img src="myImage.png" alt="my image" onClick="openFirstPHP();">
呼び出しページともやり取りするので、別のドキュメントオブジェクトを参照する必要はありません(私は思っています)。
基本的に他のすべてはfirst.php
で問題なく動作します - 読書やクッキーの設定などに動作していない唯一のもの呼び出すPHPのページ変数との相互作用が<select>
とシーケンスのうち、これらの<options>
タグの挿入をありますタグ。
使用しているPHPのバージョンは? – Theraot
- バージョン5.5.21 –
これはかなり起こりにくい:)すべては期待どおりに動作するはずです。複雑なキャッシュや特別な設定を使用していますか?これは生の出力なのでしょうか、ブラウザの 'コンソール 'に表示されているものでしょうか?テストの実行を参照してください、それはすべてのPHPのバージョンで正常に動作します... https://3v4l.org/mHc2r –