0

Ajax.BeginFormを使用していて、OnBeginで呼び出される関数にパラメーターを渡したいと思っています。以下は2つのコードスニペットです。

new AjaxOptions
{
   HttpMethod = "POST",
   UpdateTargetId = "DataEntrySummary",                
   OnBegin = "ValidateForm(11,55)"
}

function ValidateForm(minAge, maxAge) {return false;}

パラメータはValidateForm関数に正しく渡されますが、関数は常にtrueを返します。

パラメータを取り出して使用すると

OnBegin = "ValidateForm()"
function ValidateForm() {return false;}

完全に機能し、falseを返します。私は何かが足りないのですか、それともここで許可されていないパラメータですか...

オックスフォードに戸惑う-よろしくお願いします。

PS-非常に正当な理由でC#属性と目立たない検証を使用できません(これらコードスニペットです)。

4

2 に答える 2

3

使用する

OnBegin = "return ValidateForm(11,55)"

function ValidateForm(a,b) {
    return a<b;
}
于 2012-11-13T09:55:24.043 に答える
0

CrazyCoderzからのコメントがどのように関連しているかはわかりませんが、何らかの形でリンクされています。

私が見つけたのは、関数名の後に何かがあると、AjaxOBeginがtrueを返すということです。これには、OnBegin = "ValidateForm()"が含まれます。[上記の括弧内のエラー]

現在、「回避策」(2つのうちの1つ)を実装しています。独自のAjax呼び出しを作成するかフォームのテスト入力要素から属性を読み取って、必要な値を取得します。だから、私を解決策に導いてくれたCrazyCoderzに感謝します。

于 2012-09-17T08:44:20.053 に答える