2011-11-18 128 views
0

我有一个窗体,我在输入元素(文件)的onChange事件上触发ajax图像上传。 ajax图片上传工作正常,但我注意到图片上传时提交表单本身。我如何防止图像再次上传?Ajax图像上传

+0

使您的按钮不上传的文件? –

+0

请输入密码!这是你下载的东西还是你发明的东西? –

+0

我正在使用代码张贴http://www.jquery4u.com/tutorials/thumbnail-image-upload-ajaxphp/ – arjunurs

回答

1

如果文件input与窗体(使用AJAX调用)分开处理,且不应该是窗体的一部分,请将其移动到form标记之外。这可能会影响您的页面布局,因此您可能需要进行一些样式更改。但从仅查看HTML标记的角度来思考它。不属于父元素的元素不应嵌套在这些父元素中。

0

我认为你必须使用JavaScript来提交表单中onchange事件

1

您可以绑定到submit活动的形式和清除文件输入的值,它是空白的形式提交:

$('#your-form-id').on('submit', function() { 
    $('#your-file-input').val(''); 
    return true; 
}); 

您还可以将文件输入形式外其余的,所以会有两种形式的标签,但你可以使用position : absolute;来定位文件输入到看起来好像它是另一种形式的内部。

+0

如果我将文件输入标记包装在一个窗体中并将其嵌套在其他窗体中,它会工作吗?我想我将不得不尝试 – arjunurs

+0

由于我不知道你的HTML的结构,我做了一个简单的例子,我的第二个建议:http://jsfiddle.net/c3M6W/ – Jasper

0

在HTML,表单动作应该是空的:

<form action=""> 

在JS代码中使用:

$('#submut').click(function(){ 
    var //get var by jQuery 
}); 
//Your $ajax code here...