我正在使用以下表單並在我的動態html頁面中提交按鈕。如何有條件地提交表單?
<form method=\"post\" class=\"my-form\" >
和
<input type=\"submit\" name=\"submitButton\" value=\"Submit\" id=\"button1\" />
我所試圖做的是當一個特定的輸入由用戶提供,則顯示一個警告框,詢問用戶要提交更改或只是留在同一頁面上而不提交更改。
我可以顯示警報框(在stackoverflow成員的幫助下),但隨着window.alert我應該添加到JavaScript,所以如果用戶在window.confirm上點擊「取消」並且表單被提交如果用戶在window.confirm上點擊「ok」
JavaScript的例子是在fiddle
$(document).on('input', '.my-input', function(){
$(this).closest('form').addClass('changed');
});
$(document).on('submit', '.my-form', function(e){
if($(this).hasClass('changed')){
var x=window.confirm("You have set a unique threshold for one or more states below. Are you sure you want to reset them all?")
if (x)
window.alert("Thresholds changed!")
else
window.alert("Thresholds not changed!")
}
$(this).removeClass('changed');
e.preventDefault();
});
謝謝羅裏,它正常工作,因爲我一直在尋找。有一個疑問:如果我輸入一個值並單擊提交按鈕,我會看到帶有「ok」和「cancel」按鈕的警報窗口。如果我點擊取消,那麼頁面將保持原樣並且表單不會被提交(這是預期的)。但是,如果我再次點擊提交,那麼表單將直接提交,而不顯示帶有「ok」和「cancel」按鈕的警報窗口。 我怎樣才能確保警報窗口顯示每次提交被點擊(如果在文本框中的值改爲) – 300
那是因爲你需要刪除'removeClass()'行 - 我更新了我的回答對你 –
再次感謝羅裏。它現在工作很完美。 – 300