我在表單中有兩個提交型別的按鈕
<button type="submit" id="submitBtn" name="submitBtn" value="Save">Save</button>
<button type="submit" name="submitBtn" value="Print">Print</button>
在控制器動作中,我有
[HttpPost]
public async Task<IActionResult> Report(Report model, string submitBtn)
{
switch(submitBtn)
{
case "Save": ...
break;
case "Print": ..
break;
}
}
上面的代碼作業得很好。
但是,現在我需要在單擊“保存”按鈕時進行一些客戶端驗證。所以在jquery中我添加了
$('#submitBtn').click(function (e) { // id of the Save button
e.preventDefault();
// do validation and if all good then submit
$('#reportform').submit();
});
這里發生的事情是,當表單被提交時,它正確地擊中了控制器動作但是傳遞給引數字串變數 submitBtn 的值為 null
public async Task<IActionResult> Report(Report model, string submitBtn) <-- submitBtn is null
任何想法為什么會發生這種情況?如果我錯過了什么,請告訴我。
uj5u.com熱心網友回復:
在提交表單之前,您必須附加submitBtn到表單以將價值發送到操作。
$('#submitBtn').click(function (e) { // id of the Save button
e.preventDefault();
// do validation and if all good then submit
$('#reportform').append("<input type='hidden' name='submitValue' value='Save' />");
$('#reportform').submit();
});
并為 btnPrint 添加 ID
$('#printBtn').click(function (e) { // id of the Save button
e.preventDefault();
// do validation and if all good then submit
$('#reportform').append("<input type='hidden' name='submitValue' value='Print' />");
$('#reportform').submit();
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/478988.html
上一篇:使用類查找上面的下一個元素
