1
我有啊HTML5形式與定義爲動作如下:針對ASP.Net-MVC3中的對象進行客戶端驗證?
@using (Html.BeginForm("SearchAction", "ResultsController"))
的形式發生在兩個文本字段:
<input type="text" name="txtSearchTerm" id="txtSearchTerm" class="frontPageInput" placeholder="Begin your search..." required />
<input type="text" name="txtGeoLocation" id="txtGeoLocation" class="frontPageInput" required />
的txtGeoLocation字段是從一個高速緩存對象送入自動填充字段,通過控制器,並通過模型庫類通過下面的jQuery代碼反饋:
<script type="text/javascript" language="javascript">
$(function() {
$("#txtGeoLocation").autocomplete(txtGeoLocation, {
source: function (request, response) {
$.ajax({
url: "/home/FindLocations", type: "POST",
dataType: "json",
selectFirst: true,
autoFill: true,
mustMatch: true,
data: { searchText: request.term, maxResults: 10 },
success: function (data) {
response($.map(data, function (item) {
return { label: item.GeoDisplay, value: item.GeoDisplay, id: item.GeoID }
}))
}
})
},
select: function (event, ui) {
alert(ui.item ? ("You picked '" + ui.item.label + "' with an ID of " + ui.item.id)
: "Nothing selected, input was " + this.value);
document.getElementById("hidLocation").value = ui.item.id;
}
});
});
有用於調試的警報那裏。點擊下拉的文本時,此警報會觸發,但如果您鍵入整個單詞並點擊提交,則不會觸發。
我想先驗證客戶端地理文本框中的文本,以確保它是包含在集合中的值,而不是,將文本框顯示爲紅色,並與之通信。
謝謝。