gpt4 book ai didi

php - JQuery Change(function()) 提交表单两次

转载 作者:行者123 更新时间:2023-12-01 05:45:41 25 4
gpt4 key购买 nike

有一个用 PHP 编写的“创建个人资料”页面。有 2 个表单和 1 个 JQuery 函数。

<script type="text/javascript" >
$(document).ready(function(){

$('#photoimg').change(function(){

$("#imageform").ajaxForm({
target: '#preview'
}).submit();
});
});
</script>

这是图像显示的位置:

<div id='preview'></div>

Form-1:(用于上传个人资料图片)

<form id="imageform" method="post" enctype="multipart/form-data" action='ajaximage.php'>
<input name="photoimg" id="photoimg" type="file" />
</form>

Form-2:(其他文本信息)

<form class="form-signin" name="reg" role="form" action="process.php" method="post">
.... some normal input values ....
<input type="submit" value="Submit">
</form>

问题:

当我点击“photoimg”浏览图像文件并选择时,JQuery“onchange”工作正常,“imageform”正在提交,“ajaximage.php”被调用,上传的图像正在显示完美地在DIV“预览”中的主页上显示,无需刷新主页。这部分工作完美。

现在,如果我单击表单“reg”的“提交”按钮,它不会转到“process.php”,而是再次转到“ajaximage.php”。这就是问题所在。

如果我刷新主页,然后单击“reg”表单的“提交”按钮,那么它将转到“process.php”。

我不确定我的问题是否清楚。预先感谢您的时间和帮助。

添加“ajaximage.php”代码供您引用:

if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
{
.......
do all the image upload stuff & update database
.......
echo "<img src='uploads/".$actual_image_name."'>";
}

最佳答案

可能的步行。

  1. 检查目标 div 更新后所有 html 标签是否正确关闭。
  2. 请求完成后尝试将焦点移出文件元素。
  3. 检查控制台上的 jQuery 错误。
  4. 检查某些 ID 是否不冲突。

关于php - JQuery Change(function()) 提交表单两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27010033/

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