首页建站ajax提交form表单(通过ajax提交form表单数据的几种方式)

ajax提交form表单(通过ajax提交form表单数据的几种方式)

编程之家2024-01-3092次浏览

一、jqueryajax如何向jsp提交表单数据_jquery

AJAX越来越火了,作为一个WEB程序开发者要是不会这个感觉就要落伍,甚至有可能在求职的时候屡被淘汰。我也是一个WEB程序开发者,当然我也要“随波逐流”一把,不然饭碗不保啊!

ajax提交form表单(通过ajax提交form表单数据的几种方式)

之前实现AJAX使用Javascript脚本一个一个敲出来的,很繁琐。学习Jquery之后就感觉实现AJAX并不是那么的困难了,当然除了 Jquery框架外还有其它的优秀框架这里我就着重说下比较流行的Jquery。Jquery AJAX提交表单有两种方式,一是url参数提交数据,二是form提交(和平常一样在后台可以获取到Form表单的值)。在所要提交的表单中,如果元素很多的话建议用第二种方式进行提交,当然你要是想练练“打字水平”的话用第一种方式提交也未尝不可,相信开发者都不想费白劲吧!

ajax技术带给我们的是良好的用户体验,同时,使用jquery可以简化开发,提高工作效率。

下面介绍一下大致的开发步骤。

本文使用的是 jquery-1.3.2.min.js开发工具。

新建两个页面:

1、show.jsp:调用ajax,将表单中的数据发送给ajax.jsp页面。

ajax提交form表单(通过ajax提交form表单数据的几种方式)

2、ajax.jsp:获取show.jsp页面传递的表单数据,并返回结果。

两个页面的编码格式要设置为GBK:

show.jsp页面的重点部分:

1、添加对 jquery-1.3.2.min.js的引用:

2、设置表单的id,在调用ajax的方法时要用到。

3、设置一个div,用于显示ajax.jsp页面返回的结果

ajax提交form表单(通过ajax提交form表单数据的几种方式)

4、增加一个按钮,用来调用ajax

5、增加调用ajax的函数:

ajax.jsp页面的源代码:

运行效果如下:

jquery ajax提交表单从action传值到jsp

jsp页面:

代码如下:

acion类:

代码如下:

pw.print(random);这里的random就是action要向jsp传的值,在jsp中,success: function(text)这里的text就是接收从action传过来的值。

二、如何用jqueryajax请求form表单

第一步:引用js

<!--这里的min是自己用js压缩工具对完整版进行的压缩

并不是真正的min,所以好使-->

<scripttype="text/javascript"src="js/jquery-1.7.min.js"></script>

<scripttype="text/javascript"src="js/jquery.form.js"></script>

第二步:页面写form

<formid="showDataForm"

action="/024pm/f_shopUser.do?method=login"method="post">

<inputtype="text"value=""name="name"maxlength="2"/>

<inputtype="password"value=""name="password"maxlength="2"/>

<inputtype="submit"value="提交"/>

</form>

<divid="output1"

style="width:1000px;height:200px;">

</div>

第三步:写js调用jquery.form.js,对form表单进行ajax提交

$(document).ready(function(){

varoptions={

target:'#output1',

//从服务传过来的数据显示在这个div内部

也就是ajax局部刷新

beforeSubmit:showRequest,

//ajax提交之前的处理

success:showResponse

//处理之后的处理

};

$('#showDataForm').submit(function(){

$(this).ajaxSubmit(options);

returnfalse;

//非常重要,如果是false,则表明是不跳转

//在本页上处理,也就是ajax,如果是非false,则传统的form跳转。

});

});

functionshowResponse(responseText,statusText,xhr,$form){

alert(xhr.responseText+"=="+$form.attr("method")+'status:'+

statusText+'\n\nresponseText:\n'+responseText);

//xhr:说明你可以用ajax来自己再次发出请求

//$form:是那个form对象,是一个jquery对象

//statusText:状态,成功则为success

//responseText,服务器返回的是字符串(当然包括html,不包括json)

}

functionshowRequest(formData,jqForm,options){

//formData是数组,就是各个input的键值map数组

//通过这个方法来进行处理出来拼凑出来字符串。

//formData:拼凑出来的form字符串,比如name=hera&password,

//其实就是各个表单中的input的键值对,

//如果加上method=XXXX,那也就是相当于ajax内的data。

varqueryString=$.param(formData);

alert(queryString+"======"+formData.length);

for(vari=0;i<formData.length;i++){

alert(formData[i].value+"==============="+formData[i].name);

}

//jqForm,jqueryform对象

varformElement=jqForm[0];

alert($(formElement).attr("method"));

alert($(jqForm[0].name).attr("maxlength"));

//非常重要,返回true则说明在提交ajax之前你验证

//成功,则提交ajaxform

//如果验证不成功,则返回非true,不提交

returntrue;

}

options对象内的值有哪些?

varoptions={

target:'#output1',

data:{param1:"我自己的第一个额外的参数"},

//这个参数是指通过ajax来给服务器提交除了form内部input的参数

//在后台中使用Stringparam1=req.getParameter("param1");获取。

//dataType:null,

dataType:'json',

//这个参数值的是服务器返回的数据类型,默认的是null

//也就是服务器可以默认返回字符串,然后将这些字符串放在target内部

//当然还有json、xml,其中最常用的便是null和json

//对于<spanstyle="color:#333333;"><arel="external nofollow" href=""target="_blank"><spanstyle="color:#333333;">json</span></a></span>的使用,我们会稍后讲解到

beforeSubmit:showRequest,

success:successRes,

type:'POST'

//提交方式,默认是自己在form标签上指定的method

//如果没有指定,则使用get。

url:''

//重新提交的url,即url可以在form中配置

//也可以在这里配置。

};

三、form如何提交form如何提交到后端

提交form表单的几种方法

方法一:使用form的onsubmit()函数。

Html代码

document.reply.title.focus()。

返回false

}

if(document.forms[0].cont.value==

document.reply.cont.focus();

返回false

}

返回true

}

注意:

1.1.onsubmit属性的内容必须有return关键字,否则函数会直接执行,不会返回。

2.validateForm必须返回布尔类型的返回值

3.提交按钮应该写成提交类型。

方法2:使用onclick()函数,它的输入类型是submitcomponent。

1.putonsubmit=属性,去掉。

2.为“提交”按钮添加onclick事件,如下所示:

项目名称

document.getelementbyid(项目名称

返回;

}

with(document.getElementByIditemForm

action=;

submit();

}

}

//返回

函数goBack(){

window.self.location=item.do?command=list;

}

注意:

1.提交时,设置表单的action和methods属性,然后使用form.submit()函数提交。

总结:

1.在验证表单中的组件时,前两个使用name属性,包括表单本身。

2.如果提交表单时没有响应,并且确定提交的表单中某些代码没有问题,请检查提交表单前面的js代码。有时候之前js的错误会造成莫名其妙的问题。

如何获取form表单提交后返回值?

1.给form添加id值:formaction="/News/SaveMessage"method="post"accept-charset="utf-8"id="frm-reg"name="frm-reg">设置所有input标签的name属性值为数据库的字段值,即可以传值到后台2.给提交按钮添加id值:inputtype="button"id="sub"name="Submit"value="提交">3.引用jquery-form.js文件4.jquery表单提交:

form组件的提交函数由什么组成?

jquery-form.js这个插件来实现回调函数:

formid="addform"method="post"action="请求接口地址"enctype="multipart/form-data"target="rfFrame">

p>

p>

labelfor="customName">广告包名称/label>

p>

inputtype="text"name="customName"id="customName"placeholder="广告包名称">

/p>

/p>

p>

labelfor="limited">日限量/label>

p>

inputtype="text"name="limited"id="limited"placeholder="每日下载次数">

/p>

/p>

p>

labelfor="file">URL地址/label>

p>

inputtype="file"name="file"id="file">

/p>

/p>

!--/.box-body-->

p>

labelfor="submit">/label>

p>

buttontype="button"id="submit">提交/button>

/p>

/p>

!--/.box-footer-->

/form>

iframeid="rfFrame"name="rfFrame"src="about:blank">/iframe>

注意:target="rfFrame"调取的是下面这个iframe的id值。作用是为了提交表单时防止页面跳转;表单要上传文件时需设置属性enctype="multipart/form-data",具体原因不太清楚;

好了,现在要上jquery-form.js的提交代码了:

$("#submit").click(function(){

varoptions={

url:请求接口地址,//同action

type:'post',

beforeSend:function(xhr){//请求之前

varindex=layer.load(1,{

shade://0.5透明度的黑色背景

});

},

success:function(data)

{

},

complete:function(xhr){//请求完成

layer.closeAll('loading');

//询问框

layer.confirm('广告主修改成功!页面将跳转到列表页。',{

btn://按钮

},function(){

location.rel="external nofollow" href="adList.html";//location.href实现客户端页面的跳转

});

},

error:function(xhr,status,msg){

//alert("状态码"+status+";"+msg)

layer.msg('玩命加载中..');

}

};

$("#addform").ajaxSubmit(options);

});

另外说明一下,如果没有上传文件的话,完全可以使用ajax请求就好了,没必要这么折腾。那也就说明ajax请求不能够上传文件,ajax只能传递文本类信息。

form表单通过js提交,另外跳转servlet时,自己定义了一个数,传参过去,可以吗,不是fo?

自定义参数,可以通过在form表单中设置隐藏域传值inputtype="hidden"name="arg_name"value="arg_value"/>后台通过arg_name接收arg_value的值

form表单某个input的值不提交怎么写?

题主,一般的参数传递,可以通过GET和POST的方式提交到后台,你现在提到的input是form表单中的一个元素,通过指定form的action来提交到后台。而后台本质上是根据Socket来解析流。具体传到后台的值,可以打开浏览器的

开发者工具(F12打开)

观察。对于参数的解析,我在自己的公众号之前写过,题主可以过去看下是否有帮助。

快看被错用了这么久的GET和POST方法到底有什么区别

Tomcat是如何处理请求参数的?

总结起来就是把解析出来的参数名和值对应起来存到一个Map里,取的时候根据名称再拿出来。

form的提交放式是action还是method?

formaction=提交到哪儿?method=提交的方式(post或get)>

希望能帮到你!

evaphone.com(Evaphone:100%免费的网络电话)vbscript.encode(VBscript.Encode 解码器)