所以,這是我今天注意到的奇怪行爲。Javascript POST和按鈕提交
我有一個從SurfaceController繼承的控制器。
我有一個[發佈]操作方法,返回到相同的局部視圖,這很好。原因是由於該頁面上發生的分頁/過濾。
現在,在視圖本身,如果我使用按鈕提交,我看到所有提交的東西都很好。但是,如果我使用帶有onclick事件的超鏈接來設置隱藏的字段值,然後執行form.submit(),那麼最初模型的值爲null,但隨後它將重新執行提交價值再次到位!
這沒有意義。按鈕提交和做一個form.submit()的JavaScript函數有什麼區別?
真的是沒有太多的代碼:
//控制器
[HttpPost]
public PartialViewResult FilterResultsForTransaction(MyModel model)
{
.....
}
//查看
<script language="javascript">
function ApplySort(fieldname, sortDir)
{
$('#Filter_FieldName').val(fieldname);
$('#Filter_SortDir').val(sortDir);
//var form = $('#form');
//form.submit();
}
</script>
< 剪斷>
<input type="submit" onclick="javascript:ApplySort('OrderDate'........)" value="ASC" />
ASC
現在,如果我不使用提交按鈕,而只是在JS函數中的form.submit()中使用超鏈接和註釋 - 它會發布帖子,但模型值爲null/default,然後它回憶起自己的價值再次被填充。
想法?!
頁面上是否存在JavaScript錯誤? – 2014-08-29 19:59:34
無............ – 2014-08-30 05:39:22