/******************************************************************************* * * ajax提交form * ******************************************************************************/ /* 调用示例,在看不懂也没办法了 $(function(){ var tempHTML = '<input type="text" id="aaa" value/><input name="file1" type="file" />'+ "<input type=\"button\" onclick=\"ajaxSub\" value=\"update\">"+ '<div id="output2"></div>'; createForm('asdfe','dddd',tempHTML,'checkddd()'); initParam("/ajaxmodel/default/upload"); createForm('asdfe1','aaaaaaaaaa',tempHTML,''); initParam("/ajaxmodel/default/upload"); } ) function checkddd(){ var ddasd = $("#aaa").val(); if(ddasd){ return true; }else{ alert('请填写'); return false; } } */ /* * <div id="output2"></div> * <form method="post" id="educationalForm" name="educationalForm"> <input type="file" class="fileimg" id="educational" name="educational" title="请上传您的学历证明" default='uploadImg' onChange="Javascript:checkpic(this)"/> </form> <input type="hidden" id="educationalHi" name="educationalHi" /> * * <script> $(function(){ initParamForm("<{$BASE_URL}>ajaxmodel/default/upload","educationalForm"); initParamForm("<{$BASE_URL}>ajaxmodel/default/upload","stationForm"); initParamForm("<{$BASE_URL}>ajaxmodel/default/upload","physicianForm"); initParamForm("<{$BASE_URL}>ajaxmodel/default/upload","professionalForm"); initParamForm("<{$BASE_URL}>ajaxmodel/default/upload","identificationForm"); }) function checkpic(obj){ var formid = obj.name+"Form"; var hid = obj.name+"Hi"; fileObj = obj; ajaxSub(formid,""); } </script> * */ //file控件的对象 var fileObj = null; // 动态创建的formid var yuanpengform = ""; //上传成功后返回的图片ID 隐藏表单的ID var ypimghhid = ""; /** * 初始化参数 * * subUrl 提交的action,需要返回的图片ID * */ function initParam(subUrl,imghidden) { ypimghhid = imghidden; var options = { target : '#output2', beforeSubmit : showRequest, url : subUrl, success : showResponse }; $('#' + yuanpengform).submit(function() { $(this).ajaxSubmit(options); return false;// 阻止表单提交 }); } /** * 初始化参数 手动创建form * * subUrl 提交的action,from id,需要返回的图片ID * */ function initParamForm(subUrl,formid) { var options = { target : '#output2', beforeSubmit : showRequest, url : subUrl, success : showResponse }; $('#' + formid).submit(function() { $(this).ajaxSubmit(options); return false;// 阻止表单提交 }); } /** * * 提交表单 * */ function ajaxSub(formid, method) { var flag = true; if (method != '') { if (!eval(method)) { flag = false; } } if (flag) { $('#' + formid).submit(); } } /** * * 回调函数 ajax请求时会调用此方法 form的数据,jqForm jquery表单对象,options 初始化的参数 * */ function showRequest(formData, jqForm, options) { waitting(); var queryString = $.param(formData); return true; } /** * * 回调函数 ajax提交成功后调用 * * responseText 返回输出的结果,statusText 执行是否成功 * */ function showResponse(responseText, statusText,xhr) { removeAll(); if(showError(error)){ var error = $("#uploaderror").html(); if(error == "no"){ alert("上传失败,您选择的图片大小或者类型不符合要求!"); cleanFile(fileObj.name); var objhidden = $("input[name='"+fileObj.name+"Hi']"); objhidden.val(""); }else{ //alert("恭喜您,上传成功!"); var objhidden = $("input[name='"+fileObj.name+"Hi']"); objhidden.val(error); } } } function showError(error){ return true; } function checkPicResponse(responseText, statusText,xhr) { try{ var error = $("#uploaderror").html(); var jsonss = jQuery.parseJSON(error); var flag = true; var filename = ""; if(jsonss != null){ for(var i=0;i<jsonss.length;i++){ if(jsonss[i][1] != 1){ flag = false; filename = jsonss[i][0]; break; } } }else{ flag = false; } if(!flag){ if(filename==""){ filename = fileObj.name; } var obj = $("input[name='"+filename+"']"); obj.val(""); alert("上传失败,您选择的图片大小或者类型不符合要求!"); }else{ alert("恭喜您,上传成功!"); $("#"+ypimghhid).val(error); } }catch(e){ alert("上传失败,请稍后再试!"); } } /** * * 动态创建form target 指定在那里添加form,formid 表单的id ,varhtml 自定义的表单元素,method 调用外部注入的方法 * */ function createForm(target, formid, varhtml, method) { yuanpengform = formid; varhtml = varhtml.replace("ajaxSub", "ajaxSub('" + yuanpengform + "','" + method + "')"); var tempHtml = '<form method="post" name="' + yuanpengform + '" id="' + yuanpengform + '" >' + varhtml + '</form>'; $("#" + target).html(tempHtml); } function cleanFile(id){ var _file = document.getElementById(id); if(_file.files){ _file.value = ""; }else{ if (typeof _file != "object"){ return null; } var _span = document.createElement("span"); _span.id = "__tt__"; _file.parentNode.insertBefore(_span,_file); var tf = document.createElement("form"); tf.appendChild(_file); document.getElementsByTagName("body")[0].appendChild(tf); tf.reset(); _span.parentNode.insertBefore(_file,_span); _span.parentNode.removeChild(_span); _span = null; tf.parentNode.removeChild(tf); } } function ajaxupload(obj){ var formid = obj.name+"Form"; var hid = obj.name+"Hi"; fileObj = obj; ajaxSub(formid,""); } function waitting() { if($("#WaitIfrmaer").length>0){$("#WaitIfrmaer").eq(0).remove();$("#waiter").eq(0).remove();$("#WaitImager").eq(0).remove()} //注册DIV var WaitDiv=document.createElement("div"); WaitDiv.setAttribute("id","waiter"); //注册IMG var WaitImg=document.createElement("img"); WaitImg.setAttribute("src",SCRIPTS_URL+"scripts/img/upload/waiter123.gif"); WaitImg.setAttribute("id","WaitImager"); //注册Ifrmae var WaitIfrmae=document.createElement("iframe"); WaitIfrmae.setAttribute("id","WaitIfrmaer"); WaitIfrmae.setAttribute("frameborder","0"); //向页面内容 document.body.appendChild(WaitIfrmae); document.body.appendChild(WaitDiv); WaitDiv.appendChild(WaitImg); //设置样式 $("html").css({"height":"100%"}); $("body").css({"height":"100%"}); $("div#waiter").css({"position":"absolute","z-index":"10000","top":"0","left":"0","width":"100%","height":document.documentElement.scrollHeight,"background":"#fff"}); $("div#waiter").fadeTo("fast",0.8); $("img#WaitImager").css({"position":"absolute","top":document.documentElement.scrollTop+400,"left":document.documentElement.scrollWidth/2}); $("iframe#WaitIfrmaer").css({"position":"absolute","z-index":"9990","top":"0","left":"0","width":"99%","height":document.documentElement.scrollHeight-30}); //测试用解除绑定事件 $($("img#WaitImager").bind("click",removeAll)) } function removeAll() { $("#WaitIfrmaer").eq(0).remove();$("#waiter").eq(0).remove();$("#WaitImager").eq(0).remove() }
您还没有登录,请您登录后再发表评论
AJAX(Asynchronous JavaScript and XML)技术以其异步、无刷新的特性,广泛应用于网页交互,但其本身并不直接支持文件上传。这是因为浏览器的安全策略限制了JavaScript直接操作本地文件。然而,我们可以利用IFRAME...
而无刷新上传则通过AJAX技术,在后台异步处理文件上传,用户可以在不离开当前页面的情况下完成上传操作,显著提升了交互性。 PHP是服务器端的一种脚本语言,常用于处理Web表单数据和文件上传。在PHP中,文件上传...
**Ajax无刷新上传图片技术详解** 在Web开发中,用户经常需要上传文件,尤其是图片,而传统的文件上传方式会刷新整个页面,导致用户体验不佳。Ajax无刷新上传图片技术的出现,解决了这一问题,实现了在不刷新页面的...
### AJAX与JSP结合实现无刷新文件上传 在Web开发领域,用户体验的优化始终是开发者追求的目标之一。其中,无刷新文件上传作为一种提高用户交互体验的技术手段,在实际应用中非常常见。本文将详细介绍如何利用AJAX与...
- **上传文件**:AjaxForm支持文件上传,只需设置`enctype`属性为`multipart/form-data`。 - **取消请求**:使用`$.ajaxStop()`和`$.ajaxStart()`可以监听请求状态,实现取消正在进行的请求。 - **进度条**:通过...
在现代Web应用中,用户界面的流畅性和交互性至关重要,"Ajax无刷新上传文件带进度条"技术就很好地满足了这一需求。Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许在不重新加载整个页面的...
无刷新上传功能是提升用户交互体验的一种关键技术,它使得用户在上传文件时无需等待页面刷新,提高了网页应用的响应速度和效率。Ajax技术,尤其是配合ajaxFileUpload插件,是实现这一功能的常用方法。 Ajax...
无刷新上传技术是一种提高用户体验的重要方法,特别是在网页应用中,它允许用户在不重新加载整个页面的情况下进行数据交互,如文件上传。在这个项目中,我们关注的是如何利用Ajax(Asynchronous JavaScript and XML...
在现代Web应用中,用户界面的交互性和用户体验是至关重要的,而无刷新上传图片功能恰好满足了这一需求。本文将详细讲解如何使用PHP、jQuery和AJAX技术实现一个带上传进度条的图片上传功能。 首先,我们需要理解这些...
无刷新上传,也称为异步上传,允许用户在不重新加载整个页面的情况下发送数据到服务器,这通常是通过AJAX(Asynchronous JavaScript and XML)技术实现的。在本案例中,我们将深入探讨如何利用AJAX和jQuery框架在ASP...
Ajax无刷新上传是一种在网页上实现文件上传而无需页面刷新的技术,它极大地提升了用户体验,使得用户可以在不离开当前页面的情况下完成文件提交。这种技术主要基于JavaScript的Ajax(Asynchronous JavaScript and ...
jquery.form.js,这是一个完美提交表单的jquery插件,jquery的ajax无法提交图片,而这个插件可以完美解决,使用方法,将该文件放到jquery后面引入:$('#order_form').ajaxForm(function(a) { var b = eval("(" + a ...
但是,为了实现Ajax无刷新上传,我们需要添加`enctype="multipart/form-data"`属性,并使用`<input type="file">`来选择要上传的文件。同时,为了避免默认的提交行为,还需阻止表单的submit事件。 3. **JavaScript...
无刷新上传图片的插件如Plupload、jQuery File Upload等,提供了更高级的功能和易用性,包括进度条显示、错误处理、多文件上传等。它们封装了大部分复杂性,让开发者可以更方便地集成图片上传功能。 总结起来,Ajax...
在ASP中实现无刷新上传图片的功能,主要是通过AJAX(Asynchronous JavaScript and XML)技术来实现的,它允许页面在不完全刷新的情况下与服务器进行通信。这种方式可以提供更好的用户体验,因为用户无需等待整个页面...
许多前端框架和库,如jQuery、Vue.js、React.js,都有对应的插件或组件支持无刷新文件上传,例如jQuery的`jquery.form.js`插件、Vue.js的`vue-file-upload`组件等,它们封装了以上提到的复杂逻辑,简化了开发流程。...
【标题】:“艾恩Ajax无刷新上传高级上传实例”是一个基于Ajax技术实现的无刷新文件上传功能,旨在提供用户友好的交互体验,使得用户在上传文件时无需等待页面刷新,提高网页应用的效率和用户体验。 【描述】:该...
本教程将详细讲解如何利用jQuery、jQuery Form插件以及Spring MVC框架来实现Ajax提交表单并上传图片。通过这种方式,用户无需等待页面刷新,即可完成操作,提升了交互性。 首先,`jquery.js` 是jQuery库的核心文件...
HTML5的FormData对象是实现无刷新上传的关键。它可以让我们创建一个包含键值对的数据结构,其中值可以是文件。遍历`fileArray`,将每个文件添加到FormData对象: ```javascript var formData = new FormData(); for...
本教程将围绕“ajax无刷新上传图片并兼容所有浏览器”这一主题展开,通过分析提供的解决方案,来讲解相关知识点。 首先,我们需要了解Ajax的核心组件:XMLHttpRequest对象。这个对象是JavaScript内置的,用于在后台...
相关推荐
AJAX(Asynchronous JavaScript and XML)技术以其异步、无刷新的特性,广泛应用于网页交互,但其本身并不直接支持文件上传。这是因为浏览器的安全策略限制了JavaScript直接操作本地文件。然而,我们可以利用IFRAME...
而无刷新上传则通过AJAX技术,在后台异步处理文件上传,用户可以在不离开当前页面的情况下完成上传操作,显著提升了交互性。 PHP是服务器端的一种脚本语言,常用于处理Web表单数据和文件上传。在PHP中,文件上传...
**Ajax无刷新上传图片技术详解** 在Web开发中,用户经常需要上传文件,尤其是图片,而传统的文件上传方式会刷新整个页面,导致用户体验不佳。Ajax无刷新上传图片技术的出现,解决了这一问题,实现了在不刷新页面的...
### AJAX与JSP结合实现无刷新文件上传 在Web开发领域,用户体验的优化始终是开发者追求的目标之一。其中,无刷新文件上传作为一种提高用户交互体验的技术手段,在实际应用中非常常见。本文将详细介绍如何利用AJAX与...
- **上传文件**:AjaxForm支持文件上传,只需设置`enctype`属性为`multipart/form-data`。 - **取消请求**:使用`$.ajaxStop()`和`$.ajaxStart()`可以监听请求状态,实现取消正在进行的请求。 - **进度条**:通过...
在现代Web应用中,用户界面的流畅性和交互性至关重要,"Ajax无刷新上传文件带进度条"技术就很好地满足了这一需求。Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许在不重新加载整个页面的...
无刷新上传功能是提升用户交互体验的一种关键技术,它使得用户在上传文件时无需等待页面刷新,提高了网页应用的响应速度和效率。Ajax技术,尤其是配合ajaxFileUpload插件,是实现这一功能的常用方法。 Ajax...
无刷新上传技术是一种提高用户体验的重要方法,特别是在网页应用中,它允许用户在不重新加载整个页面的情况下进行数据交互,如文件上传。在这个项目中,我们关注的是如何利用Ajax(Asynchronous JavaScript and XML...
在现代Web应用中,用户界面的交互性和用户体验是至关重要的,而无刷新上传图片功能恰好满足了这一需求。本文将详细讲解如何使用PHP、jQuery和AJAX技术实现一个带上传进度条的图片上传功能。 首先,我们需要理解这些...
无刷新上传,也称为异步上传,允许用户在不重新加载整个页面的情况下发送数据到服务器,这通常是通过AJAX(Asynchronous JavaScript and XML)技术实现的。在本案例中,我们将深入探讨如何利用AJAX和jQuery框架在ASP...
Ajax无刷新上传是一种在网页上实现文件上传而无需页面刷新的技术,它极大地提升了用户体验,使得用户可以在不离开当前页面的情况下完成文件提交。这种技术主要基于JavaScript的Ajax(Asynchronous JavaScript and ...
jquery.form.js,这是一个完美提交表单的jquery插件,jquery的ajax无法提交图片,而这个插件可以完美解决,使用方法,将该文件放到jquery后面引入:$('#order_form').ajaxForm(function(a) { var b = eval("(" + a ...
但是,为了实现Ajax无刷新上传,我们需要添加`enctype="multipart/form-data"`属性,并使用`<input type="file">`来选择要上传的文件。同时,为了避免默认的提交行为,还需阻止表单的submit事件。 3. **JavaScript...
无刷新上传图片的插件如Plupload、jQuery File Upload等,提供了更高级的功能和易用性,包括进度条显示、错误处理、多文件上传等。它们封装了大部分复杂性,让开发者可以更方便地集成图片上传功能。 总结起来,Ajax...
在ASP中实现无刷新上传图片的功能,主要是通过AJAX(Asynchronous JavaScript and XML)技术来实现的,它允许页面在不完全刷新的情况下与服务器进行通信。这种方式可以提供更好的用户体验,因为用户无需等待整个页面...
许多前端框架和库,如jQuery、Vue.js、React.js,都有对应的插件或组件支持无刷新文件上传,例如jQuery的`jquery.form.js`插件、Vue.js的`vue-file-upload`组件等,它们封装了以上提到的复杂逻辑,简化了开发流程。...
【标题】:“艾恩Ajax无刷新上传高级上传实例”是一个基于Ajax技术实现的无刷新文件上传功能,旨在提供用户友好的交互体验,使得用户在上传文件时无需等待页面刷新,提高网页应用的效率和用户体验。 【描述】:该...
本教程将详细讲解如何利用jQuery、jQuery Form插件以及Spring MVC框架来实现Ajax提交表单并上传图片。通过这种方式,用户无需等待页面刷新,即可完成操作,提升了交互性。 首先,`jquery.js` 是jQuery库的核心文件...
HTML5的FormData对象是实现无刷新上传的关键。它可以让我们创建一个包含键值对的数据结构,其中值可以是文件。遍历`fileArray`,将每个文件添加到FormData对象: ```javascript var formData = new FormData(); for...
本教程将围绕“ajax无刷新上传图片并兼容所有浏览器”这一主题展开,通过分析提供的解决方案,来讲解相关知识点。 首先,我们需要了解Ajax的核心组件:XMLHttpRequest对象。这个对象是JavaScript内置的,用于在后台...