Javascript表单操作在确认onsubmission事件之前执行

Javascript表单操作在确认onsubmission事件之前执行,javascript,jquery,python,forms,Javascript,Jquery,Python,Forms,当使用删除时,我试图添加一个确认框。您需要使用event.preventDefault()函数。尝试将您的代码更改为以下代码,并查看其是否有效: var ProjName = {{ ProjName|safe }}; $(document).ready(function(e) { e.preventDefault(); for(i = 0; i < {{ row_count|safe }}; i++) { $('#projects').append('<div clas

当使用
删除
时,我试图添加一个确认框。您需要使用event.preventDefault()函数。尝试将您的代码更改为以下代码,并查看其是否有效:

var ProjName = {{ ProjName|safe }}; 
$(document).ready(function(e) {

e.preventDefault();

for(i = 0; i < {{ row_count|safe }}; i++) {
    $('#projects').append('<div class="projectDivs" id="'+ i +'"><form onsubmit="return confirm("Do you really want to submit the form?");" action="/dashboard" method="post"><input type="hidden" name="hidden-value" value="'+i+'"><button value="delete" name="submit" class="close">×</button></form><center><h2>'+ ProjName[i] + '</h2></center></div>');

  }
});
用于jQuery

================================================================

更新:

================================================================

好的。我再次看到了您的代码,可能您可以忽略我对上面e.preventDefault()的建议。相反,请尝试以下方法:

建议1:

type=“button”属性添加到您的标记中。然后单击按钮的onClick()事件,希望这会起到神奇的作用

建议2:

type=“button”属性添加到您的标记中。然后单击按钮的onClick()事件,使用ajax删除csv文件

您的代码应该如下所示。抱歉,没有机会测试下面的代码。如果你有错误或需要帮助,请随时打电话给我

`
$(function() {
    $('button').click(function() {
        var hiddenFieldValue = $("input[value='hidden-value']");
        $.ajax({
            url: '/dashboard',
            data: $('form').serialize(),
            type: 'POST',
            success: function(response) {
                console.log(response);
            },
            error: function(error) {
                console.log(error);
            }
        });
    });
});


var ProjName = {{ ProjName|safe }};    
$(document).ready(function(){
    for(i = 0; i < {{ row_count|safe }}; i++) {
        $('#projects').append('
            <div class="projectDivs" id="'+ i +'">
                <form method="post">
                    <input type="hidden" name="hidden-value" value="'+i+'">
                    <button type="button" value="delete" name="submit" class="close">×</button>
                </form>
                <center><h2>+ProjName[i]+</h2></center>
            </div>
        ');
    }
});
`
`
$(函数(){
$(“按钮”)。单击(函数(){
var hiddenFieldValue=$(“输入[value='hidden-value']);
$.ajax({
url:“/dashboard”,
数据:$('form')。序列化(),
键入:“POST”,
成功:功能(响应){
控制台日志(响应);
},
错误:函数(错误){
console.log(错误);
}
});
});
});
var ProjName={{ProjName|safe};
$(文档).ready(函数(){
对于(i=0;i<{{row_count | safe}};i++){
$(“#项目”)。追加('
×
+ProjName[i]+
');
}
});
`
下面是一篇关于将jQuery Ajax与Python和Flask结合使用的好文章:

谢谢!但是你知道为什么我会得到
未捕获的TypeError:e.preventDefault不是一个函数吗。它应该是函数(e),而不是函数()。
var ProjName = {{ ProjName|safe }}; 
$(document).ready(function(e) {

e.preventDefault();

for(i = 0; i < {{ row_count|safe }}; i++) {
    $('#projects').append('<div class="projectDivs" id="'+ i +'"><form onsubmit="return confirm("Do you really want to submit the form?");" action="/dashboard" method="post"><input type="hidden" name="hidden-value" value="'+i+'"><button value="delete" name="submit" class="close">×</button></form><center><h2>'+ ProjName[i] + '</h2></center></div>');

  }
});
window.addEventListener('keydown', function(e) {
    e.preventDefault();
   /* all your code goes here */
}, true);
$(document).on('submit', 'form', function(e) {
    e.preventDefault();
   /* all your code goes here */
});
`
$(function() {
    $('button').click(function() {
        var hiddenFieldValue = $("input[value='hidden-value']");
        $.ajax({
            url: '/dashboard',
            data: $('form').serialize(),
            type: 'POST',
            success: function(response) {
                console.log(response);
            },
            error: function(error) {
                console.log(error);
            }
        });
    });
});


var ProjName = {{ ProjName|safe }};    
$(document).ready(function(){
    for(i = 0; i < {{ row_count|safe }}; i++) {
        $('#projects').append('
            <div class="projectDivs" id="'+ i +'">
                <form method="post">
                    <input type="hidden" name="hidden-value" value="'+i+'">
                    <button type="button" value="delete" name="submit" class="close">×</button>
                </form>
                <center><h2>+ProjName[i]+</h2></center>
            </div>
        ');
    }
});
`