<form onsubmit="return confirm('Are you sure you want to rollback deletion of candidate table?')">
<input type='submit' name='delete' value='Undo' />
<input type='submit' name='no' value='No' />
ユーザーが2番目の送信ボタンをクリックしたとき、つまりNo
として、「トランザクションをコミットしますか?」という確認ダイアログを表示します。
_<form method='post'>
<input type='submit' name='undo' value='Undo' onclick="return confirm('Are you sure you want to rollback deletion of candidate table?')"/>
<input type='submit' name='no' value='No' onclick="return confirm('Are you sure you want to commit delete and go back?')"/>
</form>
_
うまくいきました。 onsubmit()
をonclick()
に変更しました。この状況で両方の機能が同じであるため。
Onsubmitの代わりにonclickにバインドできます-以下を参照してください。
<script>
function submitForm() {
return confirm('Rollback deletion of candidate table?');
}
<script>
<form>
<input type='submit' onclick='submitForm()' name='delete' value='Undo' />
<input type='submit' onclick='submitForm()' name='no' value='No' />
</form>
または、jQueryを使用します。
<script>
$(document).ready(function() {
$('form input[type=submit]').click(function() {
return confirm('Rollback deletion of candidate table?');
});
});
<script>
インラインイベントハンドラーを回避するイベントリスナーベースのソリューションを次に示します(サイトにインラインJavaScriptを禁止するコンテンツセキュリティポリシーがある場合に役立ちます)。
HTML:
<form method="post">
<input type="submit" id="deleteButton" name="delete" value="Undo" />
<input type="submit" id="noButton" name="no" value="No" />
</form>
JS:
document.getElementById("deleteButton").addEventListener("click", function(evt) {
if (!confirm("Are you sure you want to rollback deletion of candidate table?")) {
evt.preventDefault();
}
});
document.getElementById("noButton").addEventListener("click", function(evt) {
if (!confirm("Are you sure you want to commit the transaction?")) {
evt.preventDefault();
}
});
<form onsubmit="submitFunction();">
<input type='submit' name='delete' value='Undo' />
<input type='button' onclick="declineFunction()" name='no' value='No' />
</form>
私は送信を作成しようとはせず、onclick = "function()"のボタンだけを作成してから、JavaScriptを使用して変数を設定し、何回クリックされたかを確認し、alert();
これが役に立てば幸い:D