1

$ GLABALS変数を別のphpファイルに投稿し、ポップアップで開いて、$ GLOBLAS変数($ domで使用されるxmlファイルの名前を渡す)の値を含むprintOnly.phpファイルをロードしようとしています。

現在、ポップアップを開きますが、投稿された変数の値を見つけることができませんが、投稿された変数の値が問題なく取得される既存のナビゲーターウィンドウに変数をロードします。メインウィンドウを元のphpページに残し、フォームで呼び出されたファイルのみをポップアップにロードしたい。

元のページには次のようなものがあります。

<form name ="printView" method ="post" action="printOnly.php" target="popUp" >
    <input type="hidden" name="toPopFile" value="'.$GLOBALS["file"].'" />
    <input type="image" value="submit"  class="button" title="print view" src="graphics/printview.png" align="middle" onclick="javascript:viewClick(\'printOnly.php\')" />
</form>

ポップアップにロードされるファイルには、次のものがあります。

$file=basename($_POST['toPopFile']); // value to be retrieved which is the name of the xml file currently loaded in original php file

$dom = new domDocument;
if (file_exists($file)) {
    $dom->load($file);
    } else {
    exit('Error ! xml file not found.');
}

そしてこれが外部の.jsファイルから呼び出されているjavascript関数です

var view;
function viewClick(url) {
  view= window.open(url,'view text','menubar=yes,scrollbars=yes,resizable=yes,width=640,height=700');
  view.focus();
}

ヘルプ!(そしてそれを単純に保つと、私はうまくオウムを飼うことができますが、私は自分が何をしているのかを常に理解しているわけではありません)

4

1 に答える 1

0

あなたのフォームはPOSTすでにメソッドを使用しているので、それから始めましょう。これは、submitボタンを実際のHTML送信ボタンとして使用することを意味します(つまり、onclickイベントをドロップします)。次に、投稿にハンドラーを追加onsubmitします。

<form name="printView" method ="post" action="printOnly.php" target="popUp" onsubmit="popup(this);">

この関数をJavascriptに追加してポップアップを作成し、フォームを送信します。

function popup(form) {
    window.open('', 'formpopup', 'view text','menubar=yes,scrollbars=yes,resizable=yes,width=640,height=700');
    form.target = 'formpopup';
}
于 2012-08-20T17:03:01.737 に答える