複数のボタンに対するActionと動的hiddenについて
JavaScript初心者です。
入力内容を確認する画面があり、その画面からは実際にデータを
書き込む機能(1)と一時的に書込み、その結果を別ウィンドウで出力
するプレビュー機能(2)を考えています。
(1)も(2)もAction先は同じCGIで、プレビューの場合のみあるhidden値を
持たせ、Action先のCGI側でそのhiddenが存在すればプレビュー機能(2)、
なければ通常登録機能(1)と処理を分けています。
今問題となっているのはプレビュー実行後、登録を実行した場合、なぜか
プレビューと同じ動作になってしまうという点です。
(別ウィンドウが立ちあがり、hidden属性もAction先へ渡ってしまっている)
初心者である為、解決方法がわからず、悩んでおります。
よいアドバイスをお願い致します。
=====================画面 ここから=====================
※<>はHTMLタグを示す
<form>
確認画面
----------+---------------------------------+
|データ1 | 入力内容1 |
+-------------------------------------------+
|データ2 | 入力内容2 |
----------+---------------------------------+
|データ3 | 入力内容3 |
+-------------------------------------------+
+--------------+ +--------------+
| プレビュー | | 登録 |
+--------------+ +--------------+
<input type="hidden" name="data1" value="入力内容1" />
<input type="hidden" name="data2" value="入力内容2" />
<input type="hidden" name="data3" value="入力内容3" />
</form>
※登録は以下で実行
<input type="button" value="登録" onClick="javascript: run();" />
※プレビューは以下で実行
<input type="button" onClick="javascript: preview('30');" value="プレビュー" />
=====================画面 ここまで=====================
=====================JS ここから=====================
function preview(id){
var q = document.createElement('input');
q.type = 'hidden';
q.name = 'name';
q.value = id;
newWindow =window.open("about:blank","preName","menubar=no,toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes");
newWindow.focus();
document.forms[0].appendChild(q);
document.forms[0].target = 'preName';
document.forms[0].action = run.cgi;
document.forms[0].method = 'post';
document.forms[0].submit();
}
function run(){
document.forms[0].action = run.cgi;
document.forms[0].method = 'post';
document.forms[0].submit();
return;
}
=====================JS ここまで=====================
お礼
参考になりました。 無事スクリプトも理解し、フォルダアクションも起動でき、問題なくできています。 お返事遅くなりすいません。 ありがとうございました。