MVCアプリケーションで、次のHTMLが生成されています(2つのテキストボックスに何も入力していない)。邪魔されない検証中にparseJSONの構文エラーが発生しました。
<form action="/UrIntake/Save" id="UrIntakeForm" method="post">
<input data-val="true" data-val-length="The field LastName must be a string with a maximum length of 50." data-val-length-max="50" data-val-required="The LastName field is required." id="FormSubmitter_LastName" name="FormSubmitter.LastName" type="text" value="" />
<input data-val="true" data-val-length="The field FirstName must be a string with a maximum length of 50." data-val-length-max="50" data-val-required="The FirstName field is required." id="FormSubmitter_FirstName" name="FormSubmitter.FirstName" type="text" value="" />
<div id="SubmissionButtons" class="right">
<input type="button" onclick="SubmitForm()" value="Submit" />
<input type="button" onclick="CancelForm()" value="Cancel" />
</div>
</form>
function SubmitForm() {
$("#UrIntakeForm").valid();
.
.
.
これは、構文エラーが発生しているjQueryのコード(v1.9.0)は次のとおりです。ここで生成されたHTMLと提出ハンドラです。 「データ」は未定義で、エラーが発生した場所を「戻り」のラインは次のとおりです。おそらく
parseJSON: function(data) {
// Attempt to parse using the native JSON parser first
if (window.JSON && window.JSON.parse) {
return window.JSON.parse(data);
}
を、私は、テキストボックスに何も入力する必要はありません(とし、「フィールドが必要です」というメッセージを取得する必要があります)。これがエラーの原因ですか?それは理にかなっていませんが、他に何ができるのか分かりません。
私はエラーはあなたがここに表示しているものから識別可能であるとは思いません。エラーが発生したjQueryコードにブレークポイントを置き、スタックトレースを参照してどこから呼び出されているかを確認してください。これはnullがこの関数に渡されている理由についての手がかりを与えます。 – Jerry
します。役に立つものが見つかったら、私は戻ってきます。ありがとう。 – birdus
マイクロソフトがすぐに修正できるように、ここに投票してください:http://connect.microsoft.com/VisualStudio/feedback/details/776965/please-support-jquery-v1-9-0-properly-in-jquery-validate-unobtrusive –