- PR -

スクリプトが正しく動いてくれません。

1
投稿者投稿内容
NM
ベテラン
会議室デビュー日: 2003/08/28
投稿数: 93
投稿日時: 2003-08-28 11:59
ASP.NETは初心者でパニックになっています。

書き方の問題と思っていますが、<script></script>で関数を定義しています。

単純に次の様なものです。defauleClientScriptはVBScriptにしています。

<script language="vbscript">
Sub PostNoSet(s As Object, e As EventArgs)
txtPostNo.value = "111-11111"
End Sub
</script>


<input id="txtAddress3" onblur="PostNoSet()" style="Z-INDEX: 130; LEFT: 158px; WIDTH: 96px; POSITION: absolute; TOP: 332px; HEIGHT: 22px; TEXT-ALIGN: right" Width="74px" MaxLength="30" NAME="txtAddress3Val" size="40">
<input id="txtPostNo" style="Z-INDEX: 130; LEFT: 158px; WIDTH: 96px; POSITION: absolute; TOP: 340px; HEIGHT: 22px; TEXT-ALIGN: right" Width="74px" MaxLength="8" NAME="txtPostNoVal" size="30">


これを実行させると onblur="PostNoSet()" の所で、「型が一致しません。:」PostNoSetとなってしまいます。

また、デフォルトをVBScriptにしていますが、<script>と書くとJavaScriptの実行時エラーとなってしまいます。

更に、当たり前かも知れませんが次の様にするとページにはスクリプトの記述が無くなりonblur="PostNoSet()"の所で、JavaScriptの実行時エラーでオブジェクトを指定して下さいとなります。

<script language="vbscript" runat="server">

<input id="txtAddress3" runat="server" onblur="PostNoSet()" style="Z-INDEX: 130; LEFT: 158px; WIDTH: 96px; POSITION: absolute; TOP: 332px; HEIGHT: 22px; TEXT-ALIGN: right" Width="74px" MaxLength="7" NAME="txtAddress3Val" size="30">
<input id="txtPostNo" runat="server" style="Z-INDEX: 130; LEFT: 158px; WIDTH: 96px; POSITION: absolute; TOP: 340px; HEIGHT: 22px; TEXT-ALIGN: right" Width="74px" MaxLength="8" NAME="txtPostNoVal" size="30">

ASPでは、VBScriptとJavaScriptの関数を記述出来たと思うのですが、ASP.NETでは混在できませんと怒られたりで完全に混乱しています。

一つの言語でクライアントサイドですからrunat="server"無しでの記述で良いと思うのですが良いですよね!

それとsubの引数の書き方、onblur="XXXX"の書き方は誤っているのでしょうか?

また、右詰にしたいのでINPUTタグを用いていますがIDを使って、txtPostNo.valueで値を設定出来ますよね!

以上、宜しくお願いします。
wild cat
会議室デビュー日: 2002/08/29
投稿数: 13
投稿日時: 2003-08-28 13:39
こんにちは。
VBScriptとVB.NETを混同されているような・・・。

コード:
<script language="vbscript"> 
Sub PostNoSet() 
    document.form.txtPostNoVal.value = "111-11111"
End Sub 
</script> 




これでお望みの動作になりませんか?
(formの部分はご自分のコードに合わせてください。)
NM
ベテラン
会議室デビュー日: 2003/08/28
投稿数: 93
投稿日時: 2003-08-28 16:00
有難う御座いました。上手く行きました。

最初はJavaScriptで書いていたのですが、変数のところで、Nullまたはオブジェクトが有りませんと叱られ、ASP.NETではVBかとlanguage="vb"にしたら型が合いませんと怒られ、VBScriptで良いと判ったのですがクライアント側でVBScriptを使ったことが無かったので書き方が判らなくなってしまいました。

以上、今後は気をつけます。

引用:

wild catさんの書き込み (2003-08-28 13:39) より:
こんにちは。
VBScriptとVB.NETを混同されているような・・・。

コード:
<script language="vbscript"> 
Sub PostNoSet() 
    document.form.txtPostNoVal.value = "111-11111"
End Sub 
</script> 




これでお望みの動作になりませんか?
(formの部分はご自分のコードに合わせてください。)


1

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