出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

ASPで作成したテキストボックスに今日の日付を入れたいんです   DynamicKさん [2004/05/25 17:40:49] [4303]
  Re:ASPで作成したテキストボックスに今日の日付を入れたいんです   YasNet(管理人)さん [2004/05/26 8:21:31] [4304]
    Re:ASPで作成したテキストボックスに今日の日付を入れたいんです   DynamicKさん [2004/05/26 9:35:07] [4305]
      Re:ASPで作成したテキストボックスに今日の日付を入れたいんです   YasNet(管理人)さん [2004/05/26 12:08:13] [4306]
        Re:ASPで作成したテキストボックスに今日の日付を入れたいんです   DynamicKさん [2004/05/26 12:35:10] [4307]

[4303] ASPで作成したテキストボックスに今日の日付を入れたいんです
投稿者:DynamicKさん 2004/05/25 17:40:49
ASPで作成されたテキストボックスに今日の日付を入れたいのですが
onclickイベントで作成したJavaScriptを呼び出して、日付をセット
しようとしてもエラーになってしまいます。

javascript内でfm.Accept.value=Date();というようにテキストボックスに日付を設定するように記述すると「fm.Accept.valueはオブジェクトではありません」みたいなエラーが出てしまいます。

ASPで作成されたテキストボックスがJavascriptで認知されていない
ということだとは思うのですが、どうしたらいいのか分かりません。

htmlで作成したテキストボックスではうまくいきます。

書いてる内容がよく分からないかも知れませんが、
なにかステキな方法や解決策がありましたらお願いします。

[4304] Re:ASPで作成したテキストボックスに今日の日付を入れたいんです
投稿者:YasNet(管理人)さん 2004/05/26 8:21:31
こんにちは YasNet(管理人)です。

> htmlで作成したテキストボックスではうまくいきます。
って事ですので
単純にASPで作成したHTMLの構文が間違えているだけではないでしょうか

一度、表示された画面のHTMLソースを確認してみて下さい。
きっと、原因解決するでしょう。

それでは 失礼致します。

[4305] Re:ASPで作成したテキストボックスに今日の日付を入れたいんです
投稿者:DynamicKさん 2004/05/26 9:35:07
お返事ありがとうございます。
伝え忘れていましたが、テキストボックスをループで
複数生成してるんですよ。そのせいでだめみたいなんですよ。
1個だけのテキストボックスであればちゃんと動きます。

サンプルソースを見て下さい。

<html>
<body>
<SCRIPT LANGUAGE="javascript">
<!--
function Day_Set() {
var text_value = fm1.Accept.value;
if (text_value == "") {
alert("何も入力されていません");
fm1.Accept.value = Date();
}
else {
alert("なにか入力されています");
}
}
-->
</SCRIPT>
<%
For i = 0 to 9
Response.Write "<FORM name='fm1' ACTION='Onclick.asp' METHOD='POST' onclick='Day_Set();'>"
Response.Write "<TD><input type='text' name='Accept' SIZE='14'></TD>"
Response.Write "</FORM>"
next
%>
</body>
<html>

For Nextの行をコメントアウトすれば単一のテキストボックスとしてちゃんと動きます。

複数生成した場合のやり方、書き方があるのでしょうか。

[4306] Re:ASPで作成したテキストボックスに今日の日付を入れたいんです
投稿者:YasNet(管理人)さん 2004/05/26 12:08:13
こんにちは YasNet(管理人)です。

サンプルソースで3箇所おかしな部分があります。

> var text_value = fm1.Accept.value;
これだと同じ名前のものが10個あるのに取得出来ません。
ですので
var text_value = fm1.Accept[取得したい配列].value;

> if (text_value == "") {
空の場合は、から文字ではなくNULLです。
if (text_value == null || text_value == "") {

> For i = 0 to 9
> Response.Write "<FORM name='fm1' ACTION='Onclick.asp' METHOD='POST' onclick='Day_Set();'>"
> Response.Write "<TD><input type='text' name='Accept' SIZE='14'></TD>"
> Response.Write "</FORM>"
> next
こちらはFormから全てをループしているので
Response.Write "<FORM name='fm1' ACTION='Onclick.asp' METHOD='POST' onclick='Day_Set();'>"
For i = 0 to 9
Response.Write "<TD><input type='text' name='Accept' SIZE='14'></TD>"
next
Response.Write "</FORM>"

ちなみにJavaScriptで配列数を取得するには
上記の場合fm1.Accept.lengthで取得出来ます。

参考になったでしょうか

それでは 失礼致します。

> </body>
> <html>
>
> For Nextの行をコメントアウトすれば単一のテキストボックスとしてちゃんと動きます。
>
> 複数生成した場合のやり方、書き方があるのでしょうか。
>

[4307] Re:ASPで作成したテキストボックスに今日の日付を入れたいんです
投稿者:DynamicKさん 2004/05/26 12:35:10
ありがとうございます。

大変参考になりました。
さっそく試してみます。

また分からない場合はお力をお貸しください。



TreeBBS For ASP V.0.1.3
Program By YasNet