我有一个输入表单,其中有一个保留数字的隐藏字段。我确定它只能是一个数字(从-1到...)因为我用javascript设置了值。默认情况下它为0,我只做值++或value--。 我唯一的代码是:
var counter = 0;
或
计数器++
或
计数器 -
或
(设置隐藏字段中的值)document.getElementById('counterHidden')。value = counter;
现在提交后我在Firefox中遇到错误(在IE中它正在运行)
错误是:
“Microsoft VBScript运行时错误'800a000d'
类型不匹配:'CInt'“
这是我要将输入值转换为int的行:
counterValue = CInt(Request.Form(“counterHidden”))
如果我在提交表格之前设置了提醒,我会看到-1或0或1或2或3或......
那为什么我仍然在firefox中出现错误?
答案 0 :(得分:0)
错误消息指出CInt的参数无法转换为Integer,因为它本身不是整数。看起来,当Request.Form(“counterHidden”)不具有整数可转换值(可能是某些空值或未初始化值)时,您试图调用CInt。在调用CInt之前打印Request.Form(“counterHidden”)的值并检查它拥有的内容。
答案 1 :(得分:-1)
请记住,Integer数据类型仅适用于最大~32000的数字。如果您的计数器高于此值,它也将返回类型不匹配。尝试将您的CInt更改为CLng。
请参阅:http://msdn.microsoft.com/en-us/library/9e7a57cf(v=vs.84).aspx