こんにちはすべて私はデータが存在するかどうかを確認するために次のコードを使用しました
これは私の入力デザインです
<label>
@Html.LabelFor(u => u.Username)</label>
<input type="text" id="username" />
<label id="UserNameAvailabilityLabel" class="input_text">
</label>
<span class="input_error">
@Html.ValidationMessageFor(u => u.Username)
</span>
</label>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
var emptyUserNameMessage = 'Please enter the username';
var progressUserNameMessage = 'Checking...';
var availableUserNameMessage = 'Username is available';
var usedUserNameMessage = 'Username has been taken';
$(function () {
var userNameAvailabilityLabel = $("#UserNameAvailabilityLabel");
$("#username").blur(function () {
var userNameTextBox = $("#username");
var userName = userNameTextBox.val();
if ($.trim(userName) == '') {
userNameAvailabilityLabel
.removeClass()
.addClass('required1')
.html(emptyUserNameMessage);
}
else {
userNameAvailabilityLabel.html('');
$("#ProgressDiv").show();
$.ajax({
type: 'POST',
url: 'Checkavailability.asmx/CheckUserNameAvailability',
data: '{userName: \'' + userNameTextBox.val() + '\'}',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: OnCheckUserNameAvailabilitySuccess,
error: OnCheckUserNameAvailabilityError
});
}
return false; //Prevent postback
});
function OnCheckUserNameAvailabilitySuccess(response) {
$("#ProgressDiv").hide();
if (response != null && response.d != null) {
var data = response.d;
switch (data) {
case 0:
userNameAvailabilityLabel
.removeClass()
.addClass('available')
.html(availableUserNameMessage);
$("#btnSubmit").removeAttr('disabled');
break;
case 1:
userNameAvailabilityLabel
.removeClass()
.addClass('used')
.html(usedUserNameMessage);
$("#btnSubmit").attr('disabled', 'disabled');
break;
}
}
}
function OnCheckUserNameAvailabilityError(xhr, ajaxOptions, thrownError) {
alert(xhr.statusText);
}
});
これは通常のaspx
ページで使用した場合に機能しますがMVC
、最初のスクリプトが実行されると、データを入力せずにテキストボックスから移動すると、必要に応じてエラーが表示されます。テキストを入力してテキストボックスを離れると、内部サーバーエラーとしてポップアップが表示されます何が問題である可能性があります