下面是我用來試圖阻止/允許用戶單擊提交按鈕後提交表單的jQuery。這個想法將是一個fancybox模式對話框窗口與用戶輸入審查數據。如果他們像他們一樣點擊Looks Good!
並將表單提交回ASP MVC3控制器。如果不是,由於e.preventDefault
方法已被調用,模式窗口關閉,他們可以重新輸入數據。使用fancybox來允許/阻止表單提交
問題是,顯然現在我寫這個,如果用戶對他們輸入的數據感到滿意,整個事情將進入無限循環,因爲我是Look's Good!
按鈕,調用顯示的方法它擺在首位。
有沒有辦法在submit()
函數中創建一個「獨立」方法,這樣我就可以訪問事件對象,如果沒有,那麼什麼是更好的方法(即實際工作)來允許表單提交點擊Look's Good!
按鈕後?
//Form submit functions
$('form').submit(function (e) {
e.preventDefault();
if ($('#AccountNumber').val() != $('#doubleaccount').val()) {
alert("Please re-enter the correct account number!");
} else {
var display = "<h1>Test</h1>" +
"<input type='button' value='Looks Good!' onclick='submit()'/>" +
"<input type='button' value='Try Again...' onclick='cancel()'/>";
$.fancybox(display, {
// fancybox API options
fitToView: false,
autoScale: true,
autoDimension: true,
closeClick: true,
openEffect: 'fade',
closeEffect: 'fade',
closeBtn: true,
openSpeed: 'fast',
closeSpeed: 'fast'
});
}
});
});//End doc.ready()
function submit() {
$('form').submit();
}
function cancel() {
$.fancybox.close();
}
我建議增加一個屬性或設置窗體上的一個隱藏的價值與你的第一關,然後在第二遍,如果設置,也可能點擊「看起來不錯「您可以通過http://api.jquery.com/submit/按照正常方式提交 –