• ベストアンサー
  • 困ってます

VBSからjavascript

下記ソースの指定の箇所からjavascriptのfunction fun1(1)をよびたいのですがどう記述したらいいでしょうか。 (ちなみにbody onload=は使わない条件です) <%@ LANGUAGE = VBSCRIPT %> <html> <head> <script type="text/javascript"> <!-- //禁止、許可 function fun1(is){ var is; var i; var jj; jj=document.form1.text2.length; for (i=0;i<jj;i++){ if (is==1) document.form1.text2[i].disabled=true; if (is==2) document.form1.text2[i].disabled=false; } } //--> </script> </head> <html> <body> <form name="form1"> <input type="text" name="text2" size="14" maxlength="8" value="ABC"> <input type="text" name="text2" size="14" maxlength="8" value="DEF"> <% <-------------------ここでfun1(1)をよびたい fun(1)と書いてもエラー >% </form> </body> </html>

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数492
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2
  • OKwebb
  • ベストアンサー率44% (92/208)

<SCRIPT LANGUAGE="VBScript"> <!-- fun1(1) --> </SCRIPT> で通ったけど・・・。 call fun1(1) では型が一致しません。だった。 エラー番号は控えなかったけど。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました。 下記のようにしてたのでエラーでした。 <% fun1(1) >%

関連するQ&A

  • disabledの点で。

    このソースを開いて、更新ボタンをクリックすると、 2の方のテキストボックスが半透明になりますが、それは半透明にしないようにすることは可能なのでしょうか。 お願いします。 <html> <head> <title></title> <script language="JavaScript"> <!-- function setTF(){ if(document.form1.text1.value=="") document.form1.text2.disabled = true; else document.form1.text2.disabled = false; } //--> </script> </head> <body> <form name="form1"> 1<INPUT type="text" name="text1" onChange="setTF()"> 2<INPUT type="text" name="text2" disabled> <INPUT type="submit" value="登録" onClick="return setTF()" name="submit"> </form> </body> </html>

  • disabledの点で。2

    また同じソースでの質問なのですが、以下のようなソースで、1のテキストボックスに過去に入力したもの(プルダウンみたいに下がって出てくる履歴のようなもの)を選択すると、2の方の入力ができなくなります。履歴の数字を入れても2の方に記入できるようにするにはどのようにしたら良いのでしょうか。また、これらの処理を行うとき、onChange以外のものを使ってできるのでしょうか?大変困っております、よろしくお願いします。 <html> <head> <title></title> <script language="JavaScript"> <!-- function setTF(){ if(document.form1.text1.value=="") document.form1.text2.disabled = true; else document.form1.text2.disabled = false; } //--> </script> </head> <body> <form name="form1"> 1<INPUT type="text" name="text1" onChange="setTF()"> 2<INPUT type="text" name="text2" disabled> <INPUT type="submit" value="登録" onClick="return setTF()" name="submit"> </form> </body> </html>

  • textbox内の文字数を判別しfocusを移動させる

    textbox内の文字数を判別しfocusを移動させるプログラムを書いたのですが、2つ目のtextboxから記入したりするとうまく動作しません。どうしたらいいのでしょうか?カーソルがどのtextboxにあるか(どのtextboxにfocusしているか)を参照しようとしたのですがそのような関数はあるのでしょうか?教えてください。 <html> <head><title>checkLength</title> <script language="JavaScript"> <!-- document.onkeyup=checkLength; function checkLength() { if(document.form1.text1.value.length==3) document.form1.text2.focus(); if(document.form1.text2.value.length==5) document.form1.text3.focus(); } //--> </script> </head> <body bgcolor="#ffffff"> <form name="form1">半角英数で入力してください。<br> 1...<input type="text" name="text1" size="7"> 3文字入力するとカーソル移動<br> 2...<input type="text" name="text2" size="7"> 5文字入力するとカーソル移動<br> 3...<input type="text" name="text3" size="7"> </form> </body> </html>

その他の回答 (1)

  • 回答No.1
  • OKwebb
  • ベストアンサー率44% (92/208)

呼び出し側をfun(1)でなくfun1(1)に。

共感・感謝の気持ちを伝えよう!

質問者からの補足

fun(1)は書き間違いで、fun1(1)でもエラーです。 Microsoft VBScript 実行時エラー (0x800A000D) 型が一致しません。:

関連するQ&A

  • リンクでPOST送信

    http://www.kojikoji.net/pso/javascript.asp こちらにその方法がのっていて、 Windows IE 6.0 Windows Opera 7.13 では動作を確認しました。ですが、 Windwos Netscape 7.1 で動作しません。Netscapeにも対応した書き方で、<a href=...>を用いてPOST送信することは可能でしょうか? *****以下引用*********************************** リンクやボタンを使って「xxx.asp」へPOST送信 <html> <head> <script language="JavaScript"> <!-- function wPost(a1,a2){ document.form1.text1.value=a1; document.form1.text2.value=a2; document.form1.action = "xxx.asp"; document.form1.submit(); } //--> </script> </head> <body> <a href="javascript:wPost("text1","text2")">送信</a> <input type="button" OnClick="wPost('text3','text4')" value="送信"> <form name="form1" method="post" action="err.html"> <input type="hidden" name="text1"> <input type="hidden" name="text2"> </form> </body> </html>

  • 変数と関数の使い方について質問です。

    変数と関数の使い方について質問です。 現在JavaScriptを勉強しています。(超初心者ですのでバカな質問だと思いますがすみません)、変数を宣言して関数の中で使おうとしているのですが、うまく行きません。 以下のように書いて計算をしたいのですが。 <html lang="ja"> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> <!-- var moneyin = document.form1.text1.value; var moneyout = document.form1.text2.value; function zandaka(){ document.form1.text3.value=moneyin-moneyout; } --> </script> <title>簡単計算機</title> </head> <body> <h1>簡単計算機</h1> <hr> <h2>収支計算</h2> <form name="form1"> <p>収入&nbsp;<input type="text" value="0" class="right" name="text1">円</p> <p>支出&nbsp;<input type="text" value="0" class="right" name="text2">円</p> <p>残高&nbsp;<input type="text" value="0" class="right" name="text3" onfocus="zandaka()">円</p> </form> </body> </html> 関数の中に変数の宣言をすればうまく行くのですが、関数の外で変数の宣言をすると結果がNaNになります。 なぜでしょうか?変数は関数の外でまとめてしても良いのではないのでしょうか?? この考え方自体が間違いでしょうか? バカな質問だとは思いますが、よろしくお願いいたします。

  • javascriptのアラートの表示方法について

    javascript初心者です。 javascriptで、計算機を作っていて、数字を入れずに 「=」(計算)ボタンを押すと、 「未入力です」とアラ&#65293;トで表示させたいのですが、 やり方がわかりません。 お手数ですが、ご教示下さい! よろしくお願いします!! ※以下、私が作成したものです。 この中のどの部分に、どのような表記をいれたら良いのか、 教えてください。。 <html> &#160;&#160;<head> &#160;&#160;&#160;<title>計算機</title> &#160;&#160;<script type="text/javascript"> &#160;&#160;&#160;&#160;function Calc() { &#160;&#160;&#160;var a; &#160;&#160;&#160;var b; &#160;&#160;&#160;var c; &#160;&#160;&#160;var ope; &#160;&#160;&#160; &#160;&#160;&#160;a = parseInt(document.form1.textA.value); &#160;&#160;&#160;b = parseInt(document.form1.textB.value); &#160;&#160;&#160;ope = parseInt(document.form1.selOpe.value); &#160;&#160;&#160; &#160;&#160;&#160;switch (ope) { &#160;&#160;case 1:c = a + b; &#160;&#160;&#160;break; &#160;&#160;case 2:c = a - b; &#160;&#160;&#160;break; &#160;&#160;case 3:c = a * b; &#160;&#160;&#160;break; &#160;&#160;case 4:c = a / b; &#160;&#160;&#160;break; &#160;&#160;default: &#160;&#160;break; &#160;&#160;&#160;} &#160;&#160;&#160;document.form1.textC.value = c; &#160;&#160;&#160;} &#160;&#160;</script> &#160;&#160;&#160;</head> &#160;&#160;&#160;&#160;<body> &#160;&#160;&#160;&#160;<form name="form1"> &#160;&#160;&#160;&#160;&#160;<INPUT TYPE="text" NAME="textA"> &#160;&#160;&#160;&#160;&#160;&#160;<select name="selOpe" size=1> &#160;&#160;&#160;&#160;&#160;&#160;<option value="1">+</option> &#160;&#160;&#160;&#160;&#160;&#160;<option value="2">&#65293;</option> &#160;&#160;&#160;&#160;&#160;&#160;<option value="3">×</option> &#160;&#160;&#160;&#160;&#160;&#160;<option value="4">÷</option> &#160;&#160;&#160;&#160;&#160;&#160;</select> &#160;&#160;&#160;&#160;&#160;&#160;&#160;<INPUT TYPE="text" NAME="textB"> &#160;&#160;&#160;&#160;&#160;&#160;&#160; <input type="button" name="cmdCalc" value="=" onclick="Calc()"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;<INPUT TYPE="text" NAME="textC"> &#160;&#160;&#160;&#160;</form> &#160;&#160;&#160;&#160;</body> </html>

  • javascriptの計算結果をvalue=""に

    javascriptの計算結果をフォームの中のvalue=""内部に表示し、送信できるようにしたいというのが質問の趣旨です。                 記 下記の2つのファイルで、フォームから入力した数値同士の「足し算の結果」を表示できます。 (HTMLファイル下段 <p id="message"></p>の部分で表示します。) ******************************************** 【HTML】 <script language="JavaScript" type="text/javascript" src="js/culc.js"></script> <form name="f1"> <input type="text" id="text1" name="text1" size="10" maxlength="10" />+ <input type="text" id="text2" name="text2" size="10" maxlength="10" /> <input type="button" value="足す" onclick="readText()" /> </form> <p id="message"></p> ******************************************* 【JAVASCRIPT(culc.js)】 function readText() { var text1 = document.getElementById("text1"); var text2 = document.getElementById("text2"); var message = document.getElementById("message"); var str_val1 = text1.value; var str_val2 = text2.value; var sum; if (isNaN(str_val1) || str_val1 == "" || isNaN(str_val2) || str_val2 == "") { textMessage = "数値以外の文字が入っています"; } else { //sum = str_val1 + str_val2; sum = parseFloat(str_val1) + parseFloat(str_val2); textMessage = "合計は、" + sum + "です"; } message.innerHTML = textMessage; } ************************************************ 【質問】 次にこのHTMLを改造し、フォームから計算値を送信することとしました。 ************************************************ 【HTML】 <script language="JavaScript" type="text/javascript" src="js/culc.js"></script> <form name="f1"> <input type="text" id="text1" name="text1" size="10" maxlength="10" />+ <input type="text" id="text2" name="text2" size="10" maxlength="10" /> <input type="button" value="足す" onclick="readText()" /> </form> <form action="form.cgi" method="post" name="form2" id="form2"> <input type="hidden" name="plus" value="<p id="message"></p>"> <input type="button" value="送信" onClick="disableButton()" name="button1"> </form> ************************************************ 問題点 上記のように、計算結果を表示出来るはずの<p id="message"></p>を送信フォームのvalue=の直後に記載しただけなのですが、なぜか送れません。 <p id="message"></p> を独立して記載しているときは計算値をそのまま表示していたのですが、value="<p id="message"></p>"> と value= の中に記載した瞬間に単なる文字の羅列になってしまうようです。 value="<p id="message"></p>"> value='<p id="message"></p>'> value="<p id='message'></p>"> value='<p id='message'></p>'> と試してみましたが、いずれもうまきませんでした。 どのようにすれば、value="" の中に計算結果が入るか教えてください。 宜しくお願い致します。

  • JavaScriptのdisabledがうまく動かない

    以下のソースで、JSの箇所(disabled)だけですと動くのですが、送信フォームを追加すると、エラーになってしまいます。 <HTML> <HEAD> <TITLE></TITLE> <script language=javascript1.2> <!-- function textboxdisable(state){ var len = document.forms["form1"].f_level2.length; for(var i=0;i<len;i++) {document.forms["form1"].f_level2[i].disabled=!state;} } //--> </script> <input type="submit" value="送信"> <FORM action="test.html" method="POST" target="_blank"> <form name=form1> <tr><td align="right"> <input type="checkbox" name="f_level" value="f_level" onclick="textboxdisable(this.checked)">登録レベル</td> <td><input type="radio" name="f_level2" value="main" disabled>主メール <input type="radio" name="f_level2" value="sub" disabled>サブメール</td></tr> </form> </BODY> </HTML> どこが悪いのか、もうかれこれ半日考えています・・ 分かる方いらっしゃいましたら、教えていただけますでしょうか。

  • フォームに表示される文字をセンタリングさせたい。

    Javascriptの初心者です。宜しくお願いします。 テキストエリアが2つあったとします。 1のテキストエリアにある値を入力してボタンを押すと、 2のテキストエリアに1で入力した値をそのまま表示させ、 尚且つ表示された値をフォーム内でセンタリングさせたいのですが どうすればよいのかわかりません・・・。 ご存知の方がいらっしゃいましたら教えて下さい。 どうぞ宜しくお願い致します。 <html> <head> <script language="JavaScript"> <!-- function my1() { a=document.form1.text1.value; document.form1.text2.value=a; } //--> </script> </head> <body> <form name="form1"> <input type="texterea" name="text1"> <input type="texterea" name="text2"> <input type="button" value="CLICK!" onClick="my1()"> </form> </body> </html>

  • スタイルがうまく表示できません。

    スタイルがうまく表示できません。 関数を作って収入と支出の計算をしているのですが、残高が0より小さい時は赤字で表示。0以上の時は青字で表示しています。 以下がソースなのですが、数字を何度も変更して確認したのですが、うまくいく時と行かない時があります。(マイナスでも青字になったり、マイナスではないのに赤字になったりすることがあります。何度やってもうまく行く時もあります) <html lang="ja"> <head> <script type="text/javascript"> <!-- function zandaka(){ moneyin = document.form1.text1.value; moneyout = document.form1.text2.value; document.form1.text3.value=moneyin-moneyout; if(moneyout>moneyin){ document.form1.text3.style.color="red"; } else{ document.form1.text3.style.color="blue"; } } --> </script> <title>簡単計算機</title> </head> <body> <h1>簡単計算機</h1> <hr> <h2>収支計算</h2> <form name="form1"> <p>収入&nbsp;<input type="text" value="0" class="right" name="text1">円</p> <p>支出&nbsp;<input type="text" value="0" class="right" name="text2">円</p> <p>残高&nbsp;<input type="text" value="0" class="right" name="text3" onfocus="zandaka()">円</p> </form> </body> </html> うまくいかない時と行く時の区別がつかないため原因がわかりません。 初心者なのでつまらないミスだとは思うのですが、原因がわかればお願いします。

  • javascriptのtextbox

    こんばんは。 <html> <body> <center> <br><br> <form name="fuji"> TEXT BOX<br> <input type="text" name="tex"> </form> <SCRIPT type="text/javascript"> var i; i="ABC" document.write("<input type='button' value='↑を変数iに代入' onClick='i=(document.fuji.tex);'>"); document.write("<br><input type='button' value='表示' onClick='document.write(i);'>"); </SCRIPT> </center> </body> </html> でテキストボックスの中身を表示させたいのですが、 上手くいきません。どうすればいいのでしょうか。 また、変数を使わずに直接テキストボックスの中身を 表示させる事はできるのでしょうか。 教えてください。

  • HTMLのinputタグ数が変わる場合のjavascript処理

    パターンA ~HTML~ <input type='text' name='a[]'> <input type='text' name='a[]'> ~JavaScript~ var n = document.form1.elements["a"][0].value ; var n = document.form1.elements["a"][1].value ; パターンB ~HTML~ <input type='text' name='a[]'> ~JavaScript~ var n = document.form1.elements["a"][0].value ; ---(1) パターンAではエラーが出ないのですが、パターンBでは(1)のところでエラーになってしまいます。 【elements["a"][0]】の部分を【elements["a"]】とすればエラーは出ません。 どうやら、inputタグが1つしかない場合は、Javascriptでは配列として認識しないようです。 できれば、inputタグが1つの場合でも複数の場合でも、同じJavascriptコードを使いたいのですが、何か良い方法はありますか?

  • ラジオボタンで入力項目の可・不可を切り替える方法

    雑誌やネットを調べ、ラジオボタンで入力項目の可・不可を切り替える JavaScriptを見つけたのですが、思うように動作しません。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <title>Sample</title> <script type="text/javascript"> <!-- function radioChange() { if(document.form1.radioSelect[0].checked == true) { document.form1.04text.disabled = false; document.form1.04text.style.backgroundColor='#FFFFFF'; document.form1.05text.disabled = false; document.form1.05text.style.backgroundColor='#FFFFFF'; document.form1.06text.disabled = false; document.form1.06text.style.backgroundColor='#FFFFFF'; document.form1.07text.disabled = true; document.form1.07text.style.backgroundColor='#D4D0C8'; document.form1.08text.disabled = true; document.form1.08text.style.backgroundColor='#D4D0C8'; document.form1.09text.disabled = true; document.form1.09text.style.backgroundColor='#D4D0C8'; } else if(document.form1.radioSelect[1].checked == true) { document.form1.04text.disabled = true; document.form1.04text.style.backgroundColor='#D4D0C8'; document.form1.05text.disabled = true; document.form1.05text.style.backgroundColor='#D4D0C8'; document.form1.06text.disabled = true; document.form1.06text.style.backgroundColor='#D4D0C8'; document.form1.07text.disabled = false; document.form1.07text.style.backgroundColor='#FFFFFF'; document.form1.08text.disabled = false; document.form1.08text.style.backgroundColor='#FFFFFF'; document.form1.09text.disabled = false; document.form1.09text.style.backgroundColor='#FFFFFF'; } else { document.form1.04text.disabled = true; document.form1.04text.style.backgroundColor='#D4D0C8'; document.form1.05text.disabled = true; document.form1.05text.style.backgroundColor='#D4D0C8'; document.form1.06text.disabled = true; document.form1.06text.style.backgroundColor='#D4D0C8'; document.form1.07text.disabled = true; document.form1.07text.style.backgroundColor='#D4D0C8'; document.form1.08text.disabled = true; document.form1.08text.style.backgroundColor='#D4D0C8'; document.form1.09text.disabled = true; document.form1.09text.style.backgroundColor='#D4D0C8'; } } //--> </script> </head> <body onload="radioChange()"> <form action="" method="post" name="form1"> <table> <tr> <td> <input name="radioSelect" type="radio" onclick="radioChange()" value="1" /> 国内旅行 <input name="radioSelect" type="radio" onclick="radioChange()" value="0" /> 海外旅行</td> </tr> <tr> <td>&nbsp;</td> </tr> <tr> <td> 国内編:<br /> 希望地 <input type="text" name="04text" /> <br /> 希望日: <input type="text" name="05text" /> <br /> 乗り物: <input type="text" name="06text" /> </td> </tr> <tr> <td>&nbsp;</td> </tr> <tr> <td>海外編:<br /> 希望地 <input type="text" name="07text" /> <br /> 希望日: <input type="text" name="08text" /> <br /> 乗り物: <input type="text" name="09text" /> </td> </tr> </table> </form> </body> </html> テキストボックスの「name」を、英字から始めれば解決するのですが 事情があり、nameを数字で始める必要があります。 この解決方法を教えていただけませんでしょうか。 よろしくお願いいたします。