表单数据在页面加载时通过ajax移动,而不是在提交时

表单数据在页面加载时通过ajax移动,而不是在提交时,ajax,forms,upload,multipartform-data,form-data,Ajax,Forms,Upload,Multipartform Data,Form Data,我肯定有些东西我没有读出来,但我做的每一次搜索都会出现紫色链接。我的目标是创建一个使用ajax的表单,以避免页面刷新和手动页面刷新时提交。我想上传一个文件并将数据插入数据库表。事实上我已经记下了这个部分。问题是该操作是在页面加载时启动的。我认为这是因为我的ajax函数使用了#multiform).submit,但如果我将其更改为#submit).submit,那么ajax脚本不会将数据发送到upload.php,我只会将一个空白数组传递到upload.php 我可以通过点击按钮而不是表单提交的输

我肯定有些东西我没有读出来,但我做的每一次搜索都会出现紫色链接。我的目标是创建一个使用ajax的表单,以避免页面刷新和手动页面刷新时提交。我想上传一个文件并将数据插入数据库表。事实上我已经记下了这个部分。问题是该操作是在页面加载时启动的。我认为这是因为我的ajax函数使用了#multiform).submit,但如果我将其更改为#submit).submit,那么ajax脚本不会将数据发送到upload.php,我只会将一个空白数组传递到upload.php

我可以通过点击按钮而不是表单提交的输入来完成上传。但这一切都不需要使用formdata。我需要使用formdata来上传文件。下面的脚本确实有效。我只需要它在点击提交后工作,而不是在页面加载时自动工作

在我学习的过程中,我认为formObj=$(这个)指的是多种形式并抓取对象,因此当我将多种形式更改为提交(submit)时(这个)不再起作用。有没有可能我只是需要以某种方式改变这个领域?我已经连续几周在做这个了。我一直在靠近,但还是不在那里。请帮帮我。多谢各位

我的表格:

<form name="multiform" id="multiform" action="upload.php" method="POST" enctype="multipart/form-data">
Name: <input type="text" name="dname"  value="Ravi"/> <br/>
Age :<input type="text" name="age"  value="1" /> <br/>
Image :<input type="file" name="photo" /><br/>
<input type="submit" id="submit" value="Ajax File Upload" />
</form>

我是通过向后看才发现这一点的。我在谷歌上搜索了如何使表单在页面加载时自动提交,发现$(document).submit()使表单在页面加载时提交,所以我拿出$(“#multiform”).submit();现在它开始工作了。这是给其他可能发现这一点并正在从事类似工作的人的补充说明。出于某种原因,输入类型submit的id为submit会导致忽略name和age变量

jQuery(document).ready(function($) {
$("#multiform").submit(function(e)
{
var formObj = $(this);
var formURL = formObj.attr("action");
var formData = new FormData($(this)[0]); 

$.ajax({
    url: formURL,
type: 'POST',
    data:  formData,
mimeType:"multipart/form-data",
contentType: false,
    cache: false,
    processData:false,
success: function(data, textStatus, jqXHR)
{ alert(data)

},
 error: function(jqXHR, textStatus, errorThrown) 
 {
 }          
});

e.preventDefault(); //Prevent Default action. 
}); 

$("#multiform").submit(); //Submit the form
});