HTML 输入在传递 asp 上一页的 6 位变量后未更新
HTML inputs not updating after passing asp variable with 6 digits from previous page
我试图将一个变量从一个 asp 网页传递到另一个网页,但是当我传递超过 5 位数字的变量时,它导致我的 html 输入不更新。
这是创建变量选项价格的页面
index.asp
<%@ Language="VBScript" CodePage=65001 %>
<%
plan = Request("plan")
If plan = "" Then plan = "1"
modelid = Request("modelid")
If modelid = "" Then modelid = "0"
optionprice = Request("optionprice")
If optionprice = "" Then optionprice = "0"
'Responce.Write("optionprice=" & optionprice)
'plan = Request.Form("plan")
'If plan = "" Then plan = "1"
'modelid = Request.Form("modelid")
'If modelid = "" Then modelid = "0"
'Response.Write("plan= " & plan)
'Response.Write("modelid= " & modelid)
dpop = Request.QueryString("dpop")
If dpop = "on" Then dpop = "on"
' Response.Write("dpop= " & dpop)
%>
结果页面是
result_ct.asp
optionprice = Request.Form("optionprice")
If optionprice <> "" Then optionprice = optionprice * 1
optionprice_2 = optionprice
这里是html表格并输入
index.asp
<form NAME="form1" action="result_ct.asp" method="post" style="margin:0;">
<dl class="downpaymentform">
<dt>諸費用・オプション代など</dt>
<dd><div class="input"><input type="text" name="optionprice" maxlength="7" class="blue" value="<%= optionprice %>"><p>円</p></div></dd>
</dl>
</form>
我正在用头撞墙,非常感谢任何帮助!
我会说问题可能出在这段代码中
If optionprice <> "" Then optionprice = optionprice * 1
optionprice_2 = optionprice
除此之外,还有以下内容并使用 CLng
(转换为长函数)
If optionprice <> ""
optionprice_2 = CLng(optionprice)
else
optionprice_2 = 0
end if
如果是小数,用CDbl
代替。
失败的原因是您尝试通过乘以 1 将其转换为数字,这意味着您将其乘以一个整数,因此它将尝试将其转换为具有范围的整数从 -32,768 到 32,767。所以任何大于 32,767 的值都会失败。
long 可以是 -2,147,483,648 到 2,147,483,647 范围内的整数。
double 是双精度浮点数,范围为 -1.79769313486232E308 到 -4.94065645841247E-324 的负值; 4.94065645841247E-324 到 1.79769313486232E308 为正值。
我试图将一个变量从一个 asp 网页传递到另一个网页,但是当我传递超过 5 位数字的变量时,它导致我的 html 输入不更新。
这是创建变量选项价格的页面
index.asp
<%@ Language="VBScript" CodePage=65001 %>
<%
plan = Request("plan")
If plan = "" Then plan = "1"
modelid = Request("modelid")
If modelid = "" Then modelid = "0"
optionprice = Request("optionprice")
If optionprice = "" Then optionprice = "0"
'Responce.Write("optionprice=" & optionprice)
'plan = Request.Form("plan")
'If plan = "" Then plan = "1"
'modelid = Request.Form("modelid")
'If modelid = "" Then modelid = "0"
'Response.Write("plan= " & plan)
'Response.Write("modelid= " & modelid)
dpop = Request.QueryString("dpop")
If dpop = "on" Then dpop = "on"
' Response.Write("dpop= " & dpop)
%>
结果页面是 result_ct.asp
optionprice = Request.Form("optionprice")
If optionprice <> "" Then optionprice = optionprice * 1
optionprice_2 = optionprice
这里是html表格并输入
index.asp
<form NAME="form1" action="result_ct.asp" method="post" style="margin:0;">
<dl class="downpaymentform">
<dt>諸費用・オプション代など</dt>
<dd><div class="input"><input type="text" name="optionprice" maxlength="7" class="blue" value="<%= optionprice %>"><p>円</p></div></dd>
</dl>
</form>
我正在用头撞墙,非常感谢任何帮助!
我会说问题可能出在这段代码中
If optionprice <> "" Then optionprice = optionprice * 1
optionprice_2 = optionprice
除此之外,还有以下内容并使用 CLng
(转换为长函数)
If optionprice <> ""
optionprice_2 = CLng(optionprice)
else
optionprice_2 = 0
end if
如果是小数,用CDbl
代替。
失败的原因是您尝试通过乘以 1 将其转换为数字,这意味着您将其乘以一个整数,因此它将尝试将其转换为具有范围的整数从 -32,768 到 32,767。所以任何大于 32,767 的值都会失败。
long 可以是 -2,147,483,648 到 2,147,483,647 范围内的整数。
double 是双精度浮点数,范围为 -1.79769313486232E308 到 -4.94065645841247E-324 的负值; 4.94065645841247E-324 到 1.79769313486232E308 为正值。