JQuery更改(function())提交表单两次

时间:2014-11-19 06:00:14

标签: php jquery image-uploading

有一个"创建个人资料"用PHP编写的页面。有2种形式和1种JQuery功能。

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

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

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

这是图像显示的位置:

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

表单1:(适用于个人资料图片上传)

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

问题:

当我点击&#34; photoimg&#34;浏览图像文件并选择,JQuery&#34; onchange&#34;是完美的工作和&#34; imageform&#34;正在提交并且&#39; ajaximage.php&#39;被称为上传的图像正在DIV&#39;预览中的主页面上完美显示。没有刷新主页面。这部分工作得很好。

之后如果我点击Form&#34; reg&#34;的SUBMIT按钮,而不是去&#34; process.php&#34;它再次进入&#34; ajaximage.php&#34;。这就是问题所在。

如果我刷新主页然后点击Form&#34; reg&#34;的SUBMIT按钮,那么它将转到&#34; process.php&#34;。

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

添加&#34; ajaximage.php&#34;代码供您参考:

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

1 个答案:

答案 0 :(得分:0)

可以走过。

  1. 检查目标div更新后是否正确关闭了所有html标记。
  2. 完成请求后,尝试将文件元素集中。
  3. 检查控制台上的jQuery错误。
  4. 检查某些ID是否存在冲突。