我想驗證用戶輸入的數字是否存在於數據庫中,因此我有一個操作來返回JSON對象並在發送到服務器之前檢查輸入。問題是它總是返回false。驗證錯誤但表單仍提交
的Javascript:
<script type="text/javascript">
var pid = $("#ProductID").val();
var flag = false;
$("#button1").click(function() {
$.get('/Invoice/GetData',
function (data) {
for (var i = 0; i < data.length; i++) {
if (data[i] == pid) {
flag = true;
}
}
});
if (flag == false) {
alert("Invalid Product ID");
location.reload();
return false;
}
else {
alert("validations passed");
return true;
}
});
</script>
表(ASP.NET MVC4)
@using (Html.BeginForm("AddInvoiceDetails","Invoice",FormMethod.Post)) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Invoice_Detail</legend>
<div class="editor-label">
@Html.LabelFor(model => model.InvoiceID)
</div>
<div class="editor-field">
@Html.TextBox("InvoiceID", (String)ViewBag.invoiceid,new { @readonly="readonly" })
</div>
<div class="editor-label">
@Html.LabelFor(model => model.ProductID)
</div>
<div class="editor-field">
@Html.EditorFor(model=>model.ProductID)
@Html.ValidationMessageFor(model => model.ProductID)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Quantity)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Quantity)
@Html.ValidationMessageFor(model => model.Quantity)
</div>
<p>
<input id="button1" type="submit" value="Create" />
</p>
</fieldset>
}
'$獲得()'你會檢查'標誌=真|| FALSE'前執行 –