こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ページング値渡しについて

sea_clear_sky8です。
[環境]
OS 98SE
PWS
[質問内容]
ページングの値渡しの際がうまくいきません。
忙しいところすいませんがよろしくお願いします。
次のページっていうのをボタンで作って、次の10件が表示させるように
させたいのです。
下記ソースのvar frm = document.GetElemntById("myForm");の部分で
オブジェクトでサポートされていないプロパティまたはメソッド
ですとエラーがでます。
それからコンパイル後、SQLエラーと表示されます。
このSQLエラーというのは下記ソースのエラー処理で行っている
SQLエラーというのが表示されています。
[ソース]

[bunkatsu1.html]

<html>
<body>
<form action="bunkatsu1.asp" method="post">
名前:<input type="text" name="nm">
<input type="hidden" name="page_num" value="0">
<input type="submit" name="exec" value="検索">
</form>
</body>
</html>

[bunkatsu1.asp]
<html>
<script type="text/javascript">
<!--
function myClick()
{
var frm = document.GetElemntById("myForm");
frm.action ="bunkatsu1.ASP";
frm.method= "get";
frm.submit();
}
// -->
</script>

<body>
<%
On Error Resume Next

Dim DB,CMD,RS,AllCnt
'接続処理

Set DB = Server.CreateObject("ADODB.Connection")
DB.Open "mysql"
If Err.number <> 0 then
Response.Write "接続エラー"
Response.End
End If

' LIMITを使ったSELECT文を実行
Set CMD = Server.CreateObject("ADODB.Command")
CMD.ActiveConnection = DB
CMD.CommandText = "select * from test_t " & _
"where name like '%" & Request("nm") & "%' " & _
"order by id " & _
"limit " & Request("page_num")*10 & ",10"

Set RS = CMD.Execute
If Err.number <> 0 then
Response.Write "SQL実行エラー"
Response.End
End If

' 結果出力
Response.Write "<table border=1>"
Response.Write "<tr><td>id</td><td>name</td></tr>"
Do Until RS.EOF
Response.Write "<tr>"
Response.Write "<td>" & RS("id") & "</td>"
Response.Write "<td>" & RS("name") & "</td>"
Response.Write "</tr>"
RS.MoveNext
If Err.number <> 0 then
Response.Write "次データ取得エラー"
Response.End
End If
Loop
Response.Write "</table>"

' 検索条件に該当する全データの件数取得
CMD.CommandText = "select count(*) from test_t " & _
"where name like '%" & Request("nm") & "%' "

Set RS = CMD.Execute
If Err.number <> 0 then
Response.Write "SQL実行エラー"
Response.End
End If

AllCnt=RS(0)

' ページ数表示
if AllCnt>10 then
Response.Write Abs(Int(-1*(AllCnt/10))) & "ページ中の"
Response.Write Request("page_num")+1 & "ページ目を表示<br>"
end if

' 前の10件
if Request("page_num")<>0 then
end if

' 次の10件
if ((Request("page_num")+1)*10) < AllCnt then
response.write "<form id=""myForm"" method=""post"">"

response.write "<input type=""Submit"" value=""次の10件&gt;""
onclick=""myClick();"">"

response.write "<input type=""HIDDEN"" name=""num"" value=""&request(""num"")&"">"

このTEXTボックスはHIDDENのNUMに何が入っているか確認するための
ものです。

response.write "<input type=""text"" name=""test"" value=""&=request(""num"")&"">"

response.write "<input type=""HIDDEN"" name=""page_num"" value=""&request(page_num)+1&"">"

このTEXTボックスはHIDDENのPAGE_NUMに何が入っているか確認するための
ものです。

response.write "<input type=""text"" name=""test1"" value=""request(page_num)+1&"">"

response.write "<input type=""submit"" value=""更新"">"
response.write "</form>"
end if

' レコードセット解放
RS.Close
' 切断
DB.Close
' オブジェクト解放
Set CMD=Nothing
Set RS=Nothing
Set DB=Nothing
%>
</body>
</html>

忙しいところすいませんが、ご教授願います。
よろしくお願いします。

投稿日時 - 2008-12-21 16:15:07

QNo.4572810

困ってます

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

valueの値の設定を行う部分に "が足りません

response.write "<input type=""text"" name=""test"" value=""&=request(""num"")&"">"
ですとおかしなことになります

response.write "<input type=""text"" name=""test"" value=""" & request("num") & """>"
といった具合にします
つまり
"<input type=""text"" name=""test"" value="""
で1つの文字列
& request("num") &
で変数の文字列化
""">"
で締めくくり といった具合です

投稿日時 - 2008-12-22 00:41:46

お礼

sea_clear_sky8です。
丁寧に何回も回答ありがとうございます。
悩んでいたもやもやが無事解決しました。
全部回答して頂いて、すいませんでした。
忙しいところ、回答ありがとうございました。
ボタンで正常に動作するものが作れました
ありがとうございました。
また、機会があれば、よろしくお願いします。
ほんとに丁寧にして頂いて、助かりましたありがとうございました。

投稿日時 - 2008-12-22 20:24:06

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

すみません タイプミスのようです
var frm = document.getElementById("myForm");
が正解でしょう

投稿日時 - 2008-12-21 17:45:45

お礼

sea_clear_sky8です。
何回も回答ありがとうございます。
無事JAVASCRIPTのエラーは消えました。
回答ありがとうございました。
データベースを検索し、データベースを表示
するところでSQLエラーがでています。
渡しの値渡しの書き方がおかしいため、無事に動作しないと私的には
考えています。
Reguest("nm")をINPUT HIDDENのVALUEの中に
入れるにはどう、記入したらいいのでしょうか?
下の書き方ではうまくいきません。

response.write "<input type=""HIDDEN"" name=""nm"" value=""&request(""nm"")&"">"

このTEXTボックスはHIDDENのNUMに何が入っているか確認するための
ものです。

response.write "<input type=""text"" name=""test"" value=""&request(""nm"")&"">"

response.write "<input type=""HIDDEN"" name=""page_num"" value=""&request(page_num)+1&"">"

<%= %>の記入の仕方はResponse.writeではどう書けばいいかわかりません。すいませんがよろしくお願いします。

投稿日時 - 2008-12-21 21:21:43

あなたにオススメの質問