在我的ASP.NET Web API应用程序中,我有一个“保存联系人”表单,如下所示:
<form id="saveContactForm" method="post">
<h3>Create a new Contact</h3>
<p>
<label for="contactId">Contact Id:</label>
<input type="text" name="Id" />
</p>
<p>
<label for="contactName">Contact Name:</label>
<input id="Name" type="text" name="Name" />
</p>
<input type="button" id="saveContact" value="Save" />
</form>
我有以下jQuery成功处理“保存”按钮点击:
$('#saveContact').click(function () {
var nm = $('#contactName').val();
var id = $('#contactId').val();
$.post("api/contact",
$("#saveContactForm").serialize(),
function (value) {
$('#contacts').append('<li>' + value.Name + '</li>');
},
"json"
);
});
并保存新的联系人。
我想通过将onblur事件附加到“名称”输入字段来扩展此功能。
通过测试,这有效:
$("#Name").blur(function () {
setTimeout("callafterSomeTime()", 1000);
});
function callafterSomeTime() {
alert('Hi');
}
然而,这失败了:
$("#Name").blur(function () {
$.post("api/contact",
$("#saveContactForm").serialize(),
function (value) {
$('#contacts').append('<li>' + value.Name + '</li>');
},
"json"
);
});
我错过了什么吗?
答案 0 :(得分:1)
在你的jQuery帖子中,你应该在目录路径中添加正斜杠,
$。交( “/ API /接触”,
而不是
$。交( “API /接触”,
这对我有用。
答案 1 :(得分:0)
首先,使用&#34; on&#34;相反&#34;点击&#34;和&#34;模糊&#34;事件。例如:
$( '#saveContact' ).on( 'click', function() {} );
在最后一个功能(模糊事件)中,尝试console.log( value );
验证&#34;值&#34;返回预期的。