gpt4 book ai didi

javascript - 如何在 ajax 调用上提交表单之前调用 javascript 验证函数

转载 作者:行者123 更新时间:2023-12-03 07:44:48 26 4
gpt4 key购买 nike

这是我的 validate() 函数,返回 true 或 false。我的问题是我只想在 validate() 返回 true 时调用 ajax 提交表单代码,否则它将显示带有无效数据的错误消息的警报并留在页面中不提交表单,不使用 ajax 我知道我可以使用如果 true 返回 document.form2.submit();但在我的情况下它不起作用,请帮忙!

Ajax 代码:

$("#form2").submit(function(){

var formData = new FormData($(this)[0]);
$.ajax({
url: "addv.php",
type: 'POST',
data: formData,
success: function (data) {
$('.fv').html(data).hide().fadeIn(500).delay(1000).fadeOut(500);
},
contentType: false,
processData: false
});

return false;
});

JavaScript 函数:

function validate()
{
var m=document.getElementById("mat").value;
var c=document.getElementById("kilo").value;
var v=true;
if(!isNaN(m))
{
alert("matricule doit etre une chaine !");
document.getElementById("mat").value=null;
v=false;
}
if(isNaN(c))
{
alert("kilométrage doit etre un entier !");
document.getElementById("kilo").value=null;
v=false;
}
return v;
}

表格:

  <form enctype="multipart/form-data" class="form2" id="form2">
<label >Matricule</label></br>
<input type="text" name="mat"></br>
<label>kilométrage</label></br>
<input type="text" name="kilo"></br>
<label>Marque</label> </br>
<select name="mar" id="mar">
<?php
while($res=mysqli_fetch_array($req1))
{
echo "<option> $res[0] </option>";
}
?>
</select>
<label>Propriétaire Cin</label> </br>
<select name="pro" id="prop" onchange=fn()>
<?php
while($res=mysqli_fetch_array($req2))
{
echo "<option> $res[0] </option>";
}
?>
</select>
<label>Nom et Prénom</label> </br>
<input type="text" disabled id="propr"></br>
<label>Photo</label> </br></br>
<input type="file" name="img" id="img"style="color:red;"></br></br>
<input type="submit" value="Ajouter">
<b><p class="fv" style="color:red" align="center"></p></b>
</form>

最佳答案

您可以使用preventDefault防止提交表单。并使用条件如果验证返回true则使用Ajax其他情况显示警报

$("#form2").submit(function(e){
e.preventDefault();
if(validate()){

var formData = new FormData($(this)[0]);
$.ajax({
url: "addv.php",
type: 'POST',
data: formData,
success: function (data) {
$('.fv').html(data).hide().fadeIn(500).delay(1000).fadeOut(500);
},
contentType: false,
processData: false
});
} else {
alert('error');
}
});

关于javascript - 如何在 ajax 调用上提交表单之前调用 javascript 验证函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35253468/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com