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>
');
}
});
`