- PR -

vbScriptへ値の渡し方

1
投稿者投稿内容
昂翼
会議室デビュー日: 2007/07/12
投稿数: 9
投稿日時: 2007-07-12 16:55
aspxにvbScriptを書いているのですが構文で悩んでいます。
ヒンドゥ(Hidden)を取得したいのですがどうも上手くいきません、、、

<asp:HiddenField id="HiddenField1" runat="server" value="1"/>

<SCRIPT language=vbscript>
function AddGenerationMessage()
Set TheForm = Document.hidden("HiddenField1") ←ここでエラー
end function
</script>

構文上はもう少し複雑なのですが重要部分だけを書いておきました。
少し調べてみたのですが、
vbScriptは、hiddenは取得できない・・・のかな?
以下のURL
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=16330&forum=7

もしダメなら、textBox(非表示)の値を取得出来ても良いです。
どのような構文にすればaspxのhiddenを取得できるでしょうか?

少量の情報なので分かりにくい部分があると思います。
その場合おっしゃっていただければこちらが分かる分は答えて行きたいです。
tkrn
ベテラン
会議室デビュー日: 2005/10/25
投稿数: 61
投稿日時: 2007-07-12 17:43
VBScriptは詳しくありませんが、

> Set TheForm = Document.hidden("HiddenField1") ←ここでエラー

Set TheForm = document.getElementById("HiddenField1")

で拾えませんか?

ただし実際はgetElementByIdで指定するIDはクライアント側のVBScriptで固定にせず、
サーバ側のコーディングにて「HiddenField1.ClientID」で動的に取得した方がよいかもしれません。
HiddenField1はサーバコントロールなので出力時にID名が変動する可能性があります。

あと、「Set TheForm =」はまずいような…この変数名は変えた方がいいです。
頭小文字にするとPostBack時のフォームオブジェクトの変数名ですよね。

ASP.NETで自動的に出力されるこれ↓とバッティングします。
コード:

var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}




[ メッセージ編集済み 編集者: tkrn 編集日時 2007-07-12 17:45 ]
昂翼
会議室デビュー日: 2007/07/12
投稿数: 9
投稿日時: 2007-07-12 18:40
tkrnさん有難うございます。

>ただし実際はgetElementByIdで指定するIDはクライアント側のVBScriptで固定にせず、
>サーバ側のコーディングにて「HiddenField1.ClientID」で動的に取得した方がよいかもしれません。
>HiddenField1はサーバコントロールなので出力時にID名が変動する可能性があります。

>Set HiddDate = document.getElementById("+ HiddIDdate +")
で変数で取得できました。


>あと、「Set TheForm =」はまずいような…この変数名は変えた方がいいです。
>頭小文字にするとPostBack時のフォームオブジェクトの変数名ですよね。
指摘有難うございます!!
危なくこのまま通すところでした。
1

スキルアップ/キャリアアップ(JOB@IT)