CGI-BBS > JAVA/JavaScript > JavaScript > フォームでinput name構文のvalue値を自動で書き換えたい。


カレッヂ
カレッヂ


質問者 生田  投稿日 3/30(日) 19:50:00
JavaScriptを使ったフォームに付いてなのですが、
例えば f1.htm というページに名前やメッセージなどを書いてもらい、
次いで f2.htm というページで f1.htm から受けたデータを確認の後
その内容をそのままメールで送信したいのですが、どうしてもできません。
どうか、教えて下さい。

ちなみに、
   <input type=hidden name="NAIYOU1" value="内容1">
といった構文を指定されており、この”内容1”の部分が自動で
書き換わらねばならない、といったものなのです。
どうぞ、お願い致します。

プロバイダ参照:http://www.tiki.ne.jp
サーバのOS:不明
パソコンのOS:Win95系
エディタ:
FTPソフト:
サーバ移転:していない
改造:していない
CGI習熟度:beginner

回答者 cen_picture21  [削除]  投稿日 4/15(火) 14:08:32
フレームのコレクションで大丈夫なはずですが

window.parent.frames("z").z2.value
zはフレーム名
z2は<INPUT TYPE="text" NAME="z2" SIZE="">
のネーム名
質問者 生田  [削除]  投稿日 4/16(水) 21:56:49
cen_picture21 様 回答ありがとうございます。

そして、重ねてのご質問、よろしくお願い致します。

実は、「フレームのコレクション」という言葉を始めて知るような初心者でして、
さらに私のページではフレーム分割をしていないもので折角の回答をどのように
当てはめれば良いのか解らず、とりあえず、フレームもフォームも似たようなもの
だから(と思っても良いのでしょうか・・・?)
frames("z") を forms("フォーム名") とやってみました。
がしかし、というか当然というか
POSTDATA.ATTという添付ファイルが付いた、本文が無いメールとなってしまい、
もちろん、期待したvalue値はでていませんでした。

ご面倒でしょうが、もう少し(もしかしたらかなり)詳しく教えて下さい。
回答者 cen_picture21  [削除]  投稿日 4/18(金) 16:49:35
コレクションについては一先ず置いといて
先の質問に答えたいと思います。

f1.htmで

<FORM NAME="z1">
<INPUT TYPE="text" NAME="q1" VALUE="">
</FORM>

f2.htmで

<INPUT TYPE=HIDDEN NAME="q2" VALUE="内容2">

<INPUT TYPE="button" NAME="" VALUE="window.open" ONCLICK="qq1()">
<INPUT TYPE="button" NAME="" VALUE="q2.valueは" ONCLICK="qq2()">

スクリプトを

<SCRIPT LANGUAGE="JavaScript">
<!--
function qq1(){a=window.open("f1z.htm")}


function qq2(){q2.value=a.z1.q1.value
status=q2.value 
}
//-->
</SCRIPT>
//*******************解説*************************
a=window.open("f1.htm")
これでaというウィンドウ名を持ったウィンドウが作れます。

ウィンドウ名.フォーム名.テキストフィールド名.value 
で値がとりだせます。

ここでは
a.z1.q1.valueになります。
q2.valueに値を入れて
確認をステータスに表示しています。
<INPUT TYPE="button" NAME="" VALUE="window.open" ONCLICK="qq1()">
<INPUT TYPE="button" NAME="" VALUE="q2.valueは" ONCLICK="qq2()">
は解りやすいように動作確認用です。
又、
a=window.open("f1.htm","","width=100,height=100,left=0,top=0")
とすれば左上に100,100のウィンドウがつくれます。
注意は2番目の""の中です。targetで使用するウィンドウ識別子で
ウィンドウ名と思ってやっても、結果はでません。

出来るだけ詳しくしたつもりですが、解らない点は
遠慮なく質問してください。がんばってください。
質問者 生田  [削除]  投稿日 4/20(日) 17:23:19
cen_picture21 様 回答ありがとうございました。
おかげさまでうまく作動するようになりました。
今まで

<INPUT TYPE=HIDDEN NAME="q2" VALUE="内容2"> の

VALUE="内容2" のところに直接
VALUE=a.z1.q1.value とやっていたためにダメだったようです。

スクリプトで

function qq2(){q2.value=a.z1.q1.value}

とした後で

<INPUT TYPE=HIDDEN NAME="q2" VALUE="q2.value">

とすれば良いのですね。
早く数学頭から脱却せねばならない。と実感致しました。
ありがとうございました。

このページは終了したので返信(回答)は書きこめません
 


Web裏技