Javascript 如何在ajax调用期间停止表单提交
我只能修改ajax调用中的代码。 当我单击名为Javascript 如何在ajax调用期间停止表单提交,javascript,jquery,ajax,Javascript,Jquery,Ajax,我只能修改ajax调用中的代码。 当我单击名为$('#form1')的表单中的提交时,就会发生ajax调用 假设表单ID为#form1,则可以绑定提交处理程序并从中返回false: $.ajax({ url:'some.php', type:'POST', data:somedata, success:function(msg){ if(!msg){ $('#form1').submit(function(){ return false; // p
$('#form1')
的表单中的提交时,就会发生ajax调用
假设表单ID为
#form1
,则可以绑定提交处理程序并从中返回false:
$.ajax({
url:'some.php',
type:'POST',
data:somedata,
success:function(msg){
if(!msg){
$('#form1').submit(function(){
return false; // prevents form submit
});
}
}
})
假设表单ID为
#form1
,则可以绑定提交处理程序并从中返回false:
$.ajax({
url:'some.php',
type:'POST',
data:somedata,
success:function(msg){
if(!msg){
$('#form1').submit(function(){
return false; // prevents form submit
});
}
}
})
放
这将停止功能以继续放置
return false;
这将停止函数以继续您需要在成功处理程序之前停止它。因为函数在AJAX调用后完成执行,所以表单将在AJAX调用发生时提交(等到AJAX调用完成时,已经太晚了) 但是,是的,将return false放在函数的末尾
function SubmitHandler(){
// Your AJAX call here
// blah blah blah
return false; // Stop form submit
}
如果它在成功处理程序中非常重要,那么您可以同步执行调用。您需要在成功处理程序之前停止调用。因为函数在AJAX调用后完成执行,所以表单将在AJAX调用发生时提交(等到AJAX调用完成时,已经太晚了) 但是,是的,将return false放在函数的末尾
function SubmitHandler(){
// Your AJAX call here
// blah blah blah
return false; // Stop form submit
}
如果它在成功处理程序中非常重要,那么您可以同步执行调用。您也可以使用
preventDefault()
您也可以使用preventDefault()
返回false或event.preventDefault应有助于您:
$('#form1').submit(function(){
$.ajax({
url:'some.php',
type:'POST',
data:somedata,
success:function(msg){
if(!msg){
//i wanna to stop form1 submit here,how to do that? you can only modify the code in the ajax call
}
}
});
return false;
});
或:
返回false或event.preventDefault应有助于您:
$('#form1').submit(function(){
$.ajax({
url:'some.php',
type:'POST',
data:somedata,
success:function(msg){
if(!msg){
//i wanna to stop form1 submit here,how to do that? you can only modify the code in the ajax call
}
}
});
return false;
});
或:
您需要防止表单提交
onclick="ajaxcall(); return false;"
并在代码中执行此操作:
$.ajax({
url:'some.php',
type:'POST',
data:somedata,
success:function(msg){if(msg) $('#form1').submit();}
})
您需要防止表单提交
onclick="ajaxcall(); return false;"
并在代码中执行此操作:
$.ajax({
url:'some.php',
type:'POST',
data:somedata,
success:function(msg){if(msg) $('#form1').submit();}
})
您可以将按钮类型从“提交”更改为“按钮”,然后使用jquery form.submit()提交表单;根据你的情况运作。考虑下面的示例代码:
<script>
$(document).ready(function() {
$("#button-id").click(function() //on click at button
{
var sel=$("#input").val();
$.post("ajax-war.php",{jid:sel,rand:Math.random() } ,function(data)
{
if(data=='valid') //if correct login detail
{
$('#war_form').submit(); //Submit form
}
else
{
alert('not valid'); //will not submit form
}
});
});
});
</script>
$(文档).ready(函数(){
$(“#按钮id”)。单击(函数()//单击按钮
{
var sel=$(“#输入”).val();
$.post(“ajaxwar.php”,{jid:sel,rand:Math.random()},函数(数据)
{
if(data='valid')//如果登录详细信息正确
{
$('#war_form').submit();//提交表单
}
其他的
{
警报('not valid');//将不提交表单
}
});
});
});
您可以将按钮类型从“提交”更改为“按钮”,然后使用jquery form.submit()提交表单;根据你的情况运作。考虑下面的示例代码:
<script>
$(document).ready(function() {
$("#button-id").click(function() //on click at button
{
var sel=$("#input").val();
$.post("ajax-war.php",{jid:sel,rand:Math.random() } ,function(data)
{
if(data=='valid') //if correct login detail
{
$('#war_form').submit(); //Submit form
}
else
{
alert('not valid'); //will not submit form
}
});
});
});
</script>
$(文档).ready(函数(){
$(“#按钮id”)。单击(函数()//单击按钮
{
var sel=$(“#输入”).val();
$.post(“ajaxwar.php”,{jid:sel,rand:Math.random()},函数(数据)
{
if(data='valid')//如果登录详细信息正确
{
$('#war_form').submit();//提交表单
}
其他的
{
警报('not valid');//将不提交表单
}
});
});
});
dude事件已触发,您的代码不工作dude事件已触发,您的代码不工作注意。到目前为止唯一正确的答案。AJAX是异步工作的!向上投票。到目前为止唯一正确的答案。AJAX是异步工作的!