例えば、
<input type="submit"name= "cmdgo" value="実行">
という実行ボタンがあって、このボタンを実際には押さずに
プログラムの中で押すということはできないのでしょうか?
よろしくお願いいたします。

A 回答 (2件)

>解答欄にある関数をそのままコピーするだけではダメなのでしょうか?


動作確認したソースを解答欄に記入しましたので、そのままコピーで良いと思いますけど・・・
宜しければ、今のソースを見せて頂けますか?それと、エラーメッセージの内容も教えてください。

>JavaScriptには、どこのページから来たのかわかる関数のようなもの
referrer プロパティのことですね。

document.referrer

で、取得できます。但し、ユーザーがリンクを辿って来た場合のみ取得できます。
(JavaScriptで飛んできた場合やお気に入り/ブックマークから来た場合は空文字になります)
    • good
    • 0
この回答へのお礼

御礼がおそくなってすみませんm(_ _)m
無事、できました(^。^)
かなり活用させていただいてます。
ありがとうございました。

お礼日時:2002/02/08 15:49

ボタンには click というメソッドがありますので、それで押した事にできます。



例えば、次の様な関数を作って任意のタイミングで関数を呼び出せばいつでも押せます。

<script language="JavaScript">
 function funcPushBtn( strFormName, strBtnName )
 {
  document.forms[ strFormName ].elements[ strBtnName ].click() ;
 }
</script>

<form name="form1" ・・・>


<input type="submit"name= "cmdgo" value="実行">


</form>

上記のボタンを押した事にするには

funcPushBtn( 'form1', 'cmdgo' ) ;

と呼び出せばいいです。

もし、フォームを送信する為にボタンを押そうとされているのでしたら、視点を
変えて submit メソッドを使えば ボタンを押さなくても送信できます。

<script language="JavaScript">
 function funcSendForm( strFormName )
 {
  document.forms[ strFormName ].submit() ;
 }
</script>

<form name="form1" ・・・>


<input type="submit"name= "cmdgo" value="実行">


</form>

上記のフォームを送信するには

funcSendForm( 'form1' ) ;

と呼び出せばいいです。

この回答への補足

早速の回答、ありがとうございます!!
しかし、エラーが出てしまって、上手くいきません(・。;)
まだ始めたばかりなのでわからないことが多いのですが、
解答欄にある関数をそのままコピーするだけではダメなのでしょうか?
関数を呼び出すのもJavaScriptの中で呼び出しているのですが、
それではいけないのでしょうか?

それからもう1つ質問なのですが、
JavaScriptには、どこのページから来たのかわかる関数のようなものが
あったようなきがするのですが、
もし、ご存知でしたら教えて頂けないでしょうか?
資料があったのですが、今、使えないのです(^。^;
質問ばかりしてすみませんm(_ _)m
よろしくお願いいたします。

補足日時:2002/01/29 16:58
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QSUBMITボタンで値を渡す時、次のページのパラメータをAAA="BBB=1&CCC=1"みたいにするには?

普通、次のページに渡すパラメータは

test.asp?AAA=1

みたいな形だと思うのですが、

test.asp?AAA=BBB=1&CCC=1 みたいなことをしたいのです。

BBB=1&CCC=1 を AAA に格納したいのですが、

どうやればいいのでしょう?

Server.urlencode とかいうのがよく分かりません
どなたか意味と役割と使い方を教えて下さい。

Aベストアンサー

Response.Redirect "test.asp?AAA=" & _
Server.URLEncode("BBB=1&CCC=1")

test.asp 側では Request.QueryString("AAA") を参照すれば
BBB=1&CCC=1 が入っています

Q半角カナだけが入力できるは可能?

半角カナだけ入力できるテキストボックスは
作成可能でしょうか?

Vbscript だけを使って実現したいと思います。

Aベストアンサー

ちょっと面倒なやり方ですが、以下の様なものはいかがでしょう?
テキストボックスのonblurイベント時にVBScriptでチェックしています。

----サンプル-----
<html>
<head>
<title>半角カナチェック</title>
<script language="vbscript">
Function KanaCheck(strTarget)
Dim obj, i, strChar, intAscBuff
For Each obj in frm1
If InStr(obj.name, strTarget) > 0 then
For i = 1 To Len(obj.value)
strChar = Mid(obj.value, i, 1)
intAscBuff = Asc(strChar)
If intAscBuff < Asc("ア") Or intAscBuff > Asc("ン") Then
If Not (intAscBuff = Asc("゛") Or _
intAscBuff = Asc("゜") Or _
intAscBuff = Asc(" ") Or _
intAscBuff = Asc("(") Or _
intAscBuff = Asc(")") Or _
intAscBuff = Asc("-") Or _
intAscBuff = Asc(",") Or _
intAscBuff = Asc(".") Or _
intAscBuff = Asc("\") Or _
intAscBuff = Asc("/") Or _
intAscBuff = Asc("「") Or _
intAscBuff = Asc("」")) Then
If intAscBuff < Asc("A") Or _
intAscBuff > Asc("Z") Or _
intAscBuff < Asc("0") Or _
intAscBuff > Asc("9") Then
KanaCheck = False
msgbox obj.name & "は半角カナ文字のみの入力となります。"
Exit Function
End If
End If
End If
Next
End If
Next
KanaCheck = True
End Function
</script>
</head>
<body>
<form name="frm1" method="post">
<input type="text" name="txt1" onblur="KanaCheck('txt1')">
<input type="text" name="txt2" onblur="KanaCheck('txt2')">
<input type="text" name="txt3" onblur="KanaCheck('txt3')">
</form>
</body>
</html>

ちょっと面倒なやり方ですが、以下の様なものはいかがでしょう?
テキストボックスのonblurイベント時にVBScriptでチェックしています。

----サンプル-----
<html>
<head>
<title>半角カナチェック</title>
<script language="vbscript">
Function KanaCheck(strTarget)
Dim obj, i, strChar, intAscBuff
For Each obj in frm1
If InStr(obj.name, strTarget) > 0 then
For i = 1 To Len(obj.value)
strChar = Mid(obj.value, i, 1)
intAscBuff = Asc(strChar)
If intAscBuff < Asc("ア") Or intA...続きを読む

Aベストアンサー

gotoPageFromAA011
という関数は、JavaScriptの関数です。

書き方や呼び出し方云々の問題ではなく、直接実行はVBScriptで行える場所にはありません。

Call gotoPageFromAA011()
↑よってこの部分は不要です。


要は、ログインボタンエレメントを取得して、クリックさせてあげると、中で勝手にJavaScriptが実行します。


gotoPageFromAA011をコメントアウトし、以下のコードを追加してください。

'Call gotoPageFromAA011() ← コメントアウト

'↓以下追加
Call SubmitFunctionCall(objIE.Document)

Sub SubmitFunctionCall(p_doc)
Dim l_divLogin
Set l_divLogin = p_doc.getElementById("loginForms")

Dim l_divSec
Set l_divSec = l_divLogin.ChildNodes(0)

Dim l_htmTbl
Set l_htmTbl = l_divSec.ChildNodes(0)

Dim l_htmTblRow
Set l_htmTblRow = l_htmTbl.Rows(0)

Dim l_htmTblCell
Set l_htmTblCell = l_htmTblRow.Cells(1)

Dim l_htmBtn
Set l_htmBtn = l_htmTblCell.ChildNodes(0)
Call l_htmBtn.Click()
End Sub


ってかこの手の質問は、「ASPカテゴリ」ではなく、「JavaScriptカテゴリ」か「VBカテゴリ」に質問した方が素早い回答を得られますよ。

gotoPageFromAA011
という関数は、JavaScriptの関数です。

書き方や呼び出し方云々の問題ではなく、直接実行はVBScriptで行える場所にはありません。

Call gotoPageFromAA011()
↑よってこの部分は不要です。


要は、ログインボタンエレメントを取得して、クリックさせてあげると、中で勝手にJavaScriptが実行します。


gotoPageFromAA011をコメントアウトし、以下のコードを追加してください。

'Call gotoPageFromAA011() ← コメントアウト

'↓以下追加
Call SubmitFunctionCall(objIE.Document)

Sub Subm...
続きを読む

Qvalue="<%=date25(25は変数です)%>"値を変数にしてデータを受け取りたい

いつもお世話になっております。
ASPのプログラミングの最中、データの受け取りを関数で行おうとした所
ソースの記述が分からなくなったので質問した次第です。
お手数をおかけしますが、アドバイスお願いいたします

※質問概要
 あらかじめ入力していたデータを
 value="<%=date値%>(値=1~26)で受け取り、内容をHTMLに表示しようと思っています。
値の変数は「num」
 一件だけならば value="<%=date10%>" と入力して
 「2008/08/29」日付を取得、HTMLに記述させられるのですが
 関数で、複数件(26件)処理するとなると

 変数名1~26の処理をnumに置き換えて
 26個のテキストBOXにそれぞれのデータを出力したいのですが
 どの様に記述すればいいでしょうか?
(value="<%=date<%=num%>%>"にしましたが、データの取得は出来ませんでした。
 value="&lt;%=date<%=num%>%&gt;"も
 テキストBOXに<%=date1%>~26出力されて取得できませんでした)


 説明不足の点がありましたら、即追加いたします。
 以上、よろしくお願いいたします。



ソースを記載いたします

<!-- カレンダー設置関数 -->
<% Function cal(num)
  Dim a
  Dim str %>
  <input type="text" name="date<%=num%>" id="date<%=num%>" onClick="cal<%=num%>.write();
<%  a = 2
   Do Until a > 26
    if a <> num then
%>
     cal<%=a%>.hide();
<%   Else
    End if
     a = a + 1
    Loop
    Response.Write str
    Response.Write " "" "
%>
   onChange="ca<%=num%>.getFormValue(); cal<%=num%>.hide();" value="&lt;%=date<%=num%>%&gt;"【問題の箇所です】>
    <br>
    <div id="caldiv<%=num%>"></div>
<% End Function%>

いつもお世話になっております。
ASPのプログラミングの最中、データの受け取りを関数で行おうとした所
ソースの記述が分からなくなったので質問した次第です。
お手数をおかけしますが、アドバイスお願いいたします

※質問概要
 あらかじめ入力していたデータを
 value="<%=date値%>(値=1~26)で受け取り、内容をHTMLに表示しようと思っています。
値の変数は「num」
 一件だけならば value="<%=date10%>" と入力して
 「2008/08/29」日付を取得、HTMLに記述させられるのですが
 関数で、複数...続きを読む

Aベストアンサー

VBScriptなら Eval関数を使って変数の値を <%= で出力しましょう

value="<%= Eval("date" & num ) %>">

といった具合にします

Q押下ボタンによってSubmit先を変えたい・その2

つい先日、解決ソースを頂きましたuinonaです。
教わったソースを試した所、SubmitボタンにNameを付けているのに、
何も入っていないんです。(押されたボタンを受信側で判別出来ない)
SubmitのName属性さえ付ければ複数Submitボタンの判別は可能なはずなのに、
なぜなのでしょうか?なにか設定等あるのでしょうか?またまた困ってしまいました。
ご回答の程よろしくお願いします。

<!-- aaa.asp -->
<form action="aaa2.asp" method="post">
<input type="hidden" name="field" value="test">
<input type="submit" name="btnQ" value="Q">
<input type="submit" name="btnZ" value="Z">
</form>

<!-- aaa2.asp -->
<%
If Len(Request.Form("btnQ")) > 0 Then ←※
Server.Transfer "bbb.asp"
Else
Server.Transfer "ccc.asp"
End If
%>

※"btnQ"を押下しているのにLen(Request.Form("btnQ"))=0なんです・・

つい先日、解決ソースを頂きましたuinonaです。
教わったソースを試した所、SubmitボタンにNameを付けているのに、
何も入っていないんです。(押されたボタンを受信側で判別出来ない)
SubmitのName属性さえ付ければ複数Submitボタンの判別は可能なはずなのに、
なぜなのでしょうか?なにか設定等あるのでしょうか?またまた困ってしまいました。
ご回答の程よろしくお願いします。

<!-- aaa.asp -->
<form action="aaa2.asp" method="post">
<input type="hidden" name="field" value="test">
<inpu...続きを読む

Aベストアンサー

そのソースを提供した張本人です。
前提条件として、該当ASPはIIS5(Windows2000Professional/Server/Advance Server)上で実行されているでしょうか?
前回の回答でも書いていますが、Server.Transferを使用している都合上、IIS3またはIIS4では動作しませんので

aaa.asp
aaa2.asp
bbb.asp
ccc.asp

を用意し、上記のソースだけでテストしましたが
btnQ, btnZの両方とも正常に分岐しました

bbb.asp側で Request.Form("btnQ") の値も出力しましたが、正常に「Q」が入っていることも確認しています。

デフォルトの設定なら動作するとは思いますが、
もしかすると該当WebサーバーでURLクエリをチェックするようなISAPIフィルタなどを導入されていないでしょうか?
#URLScanとかGuard3.dllとか・・・

私の知識ではこれぐらいしか思い浮かばないです。
参考までに


おすすめ情報