【发布时间】:2015-01-16 13:39:36
【问题描述】:
有一个用 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."'>";
}
【问题讨论】:
-
你的问题很清楚..
-
有什么建议@Ray?
-
我已经在我的本地主机中尝试过你的代码.. 它的工作就像一个魅力.. 当我浏览图像文件时,jQuery .change 事件正在工作并且可以看到在浏览器控制台中调用的 ajaximage.php 和当我点击提交时,页面被重定向到 process.php,而不刷新页面!!
-
你试过 ajaxSubmit()..
-
@Shaunak:我添加了 ajaximage.php 代码格式。请再试一次。
标签: php jquery image-uploading