类型不匹配:'CInt' - firefox中的VBScript错误

时间:2013-08-29 12:39:13

标签: javascript firefox vbscript type-mismatch

我有一个输入表单,其中有一个保留数字的隐藏字段。我确定它只能是一个数字(从-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中出现错误?

2 个答案:

答案 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