Javascript preventDefault()无法使用(';submit';)函数
我有以下代码:Javascript preventDefault()无法使用(';submit';)函数,javascript,ajax,form-submit,preventdefault,Javascript,Ajax,Form Submit,Preventdefault,我有以下代码: <form action="/example/call/to/api" id="myId" enctype="multipart/form-data" method="post"> 问题是我不需要重定向,但现在提交表单时,我总是被重定向到/example/call/to/api:/为什么在这种情况下,preventDefault无法工作 调用有效,问题是“preventDefault”不起作用 解决了,我只是使用了相同的函数,指向相同的ID以发出不同的请求(通过每
<form action="/example/call/to/api" id="myId" enctype="multipart/form-data" method="post">
问题是我不需要重定向,但现在提交表单时,我总是被重定向到/example/call/to/api:/为什么在这种情况下,preventDefault无法工作
调用有效,问题是“preventDefault”不起作用强>
解决了,我只是使用了相同的函数,指向相同的ID以发出不同的请求(通过每个表单中的操作)。
只是划分了每个动作和所有工作的功能!
函数只取代码中的第一个ID,忽略所有其他ID。您忘记了
('#myId')
之前的$or jQuery,并且在提交处理程序函数之前还有一个额外的(
)
$('#myId').on('submit', function(e) {
e.preventDefault();
$.ajax({
type:'POST',
url: url,
data:formData,
cache:false,
contentType: false,
processData: false,
xhr: function () {
//some code here
},
success:function(html){
//some code here
}
});
您还需要确保在文档准备就绪时正在运行代码;否则,表单将不存在
$(function(){
$('#myId').on('submit', function(e) {
e.preventDefault();
$.ajax({
type:'POST',
url: url,
data:formData,
cache:false,
contentType: false,
processData: false,
xhr: function () {
//some code here
},
success:function(html){
//some code here
}
});
});
您的点击事件必须与此类似
('#myId').on('submit', function() {...}
不是('#myId')。在('submit',(function(){…})上
只需删除(
在函数的开头和结尾是否调用了您的提交处理程序?1.检查脚本是否确实添加到html中,2.确保它包装在文档中。就绪函数,3.检查控制台是否存在错误,代码已更新!脚本在html中,在文档就绪时启动,控制台不会给出错误。您的代码正常工作对我来说,问题一定在代码的其他地方。请提供一个可复制的示例。`$.ajax({({({(}myId')).on('submit',(函数(e){`是错误的为什么?我不明白为什么这会阻止执行preventDefault()
。不需要使用(…)
,我同意这一点,但这不是错误,对吗?
('#myId').on('submit', function() {...}