0

数値を保持する隠しフィールドがある入力フォームがあります。JavaScriptで値を設定しているので、数値(-1から...)しかできないと確信しています。デフォルトでは 0 で、value++ または value-- のみを実行します。私が持っている唯一のコードはこれです:

変数カウンター = 0;

また

カウンター++

また

カウンター -

また

(非表示フィールドに値を設定するため) document.getElementById('counterHidden').value = counter;

送信後、Firefoxでエラーが発生しました(IEでは動作しています)

エラーは次のとおりです。

「Microsoft VBScript ランタイム エラー '800a000d'

タイプの不一致: 'CInt'"

これは、入力値を int に変換したい行にあります。

counterValue = CInt(Request.Form("counterHidden"))

フォームを送信する前にアラートを設定すると、-1 または 0 または 1 または 2 または 3 または ... と表示されます。

では、なぜFirefoxでまだエラーが発生するのですか?

4

2 に答える 2

0

エラー メッセージには、CInt へのパラメーターは整数ではないため、整数に変換できないことが示されています。Request.Form("counterHidden") が整数の変換可能な値を持っていないときに CInt を呼び出そうとしているようです。おそらく null 値または初期化されていない値です。CInt を呼び出す前に Request.Form("counterHidden") の値を出力し、内容を確認します。

于 2013-08-29T12:50:05.187 に答える