form表单提交的时候怎么传参,怎么用js提交不用写在html里面 30
2个回答
展开全部
这是对表单的输入进行提取与设置的两个函数。
getInput=function(fm){
if(!fm){return {}}
var rs={};
var es=fm.filter(':input:not(:button):not(:image):not(:submit):not(:reset)');
es=es.length==0?fm.find(':input:not(:button):not(:image):not(:submit):not(:reset)'):es;
es.filter(':not(:radio):not(:checkbox)').each(function(i){rs[this.id]=$(this).val()});
es.filter(':checkbox').each(function(i){rs[this.id]=this.checked?1:0});
es.filter(':radio:checked').each(function(i){rs[this.id]=$(this).val()});
return rs;
}
setInput=function(fm,ds){
if(!fm||!ds){return}
var es=fm.filter(':input:not(:button):not(:image):not(:submit):not(:reset)');
es=es.length==0?fm.find(':input:not(:button):not(:image):not(:submit):not(:reset)'):es;
es.filter(':not(:radio):not(:checkbox):not(:file)').each(function(i){
if(ds[this.id]){$(this).val(ds[this.id])}
});
es.filter(':checkbox').each(function(i){
if(ds[this.id]){this.checked=ds[this.id]?true:false}
});
es.filter(':radio').each(function(i){
if(ds[this.id] && ds[this.id]==$(this).val()){
this.checked=true;
}
});
}
getInput=function(fm){
if(!fm){return {}}
var rs={};
var es=fm.filter(':input:not(:button):not(:image):not(:submit):not(:reset)');
es=es.length==0?fm.find(':input:not(:button):not(:image):not(:submit):not(:reset)'):es;
es.filter(':not(:radio):not(:checkbox)').each(function(i){rs[this.id]=$(this).val()});
es.filter(':checkbox').each(function(i){rs[this.id]=this.checked?1:0});
es.filter(':radio:checked').each(function(i){rs[this.id]=$(this).val()});
return rs;
}
setInput=function(fm,ds){
if(!fm||!ds){return}
var es=fm.filter(':input:not(:button):not(:image):not(:submit):not(:reset)');
es=es.length==0?fm.find(':input:not(:button):not(:image):not(:submit):not(:reset)'):es;
es.filter(':not(:radio):not(:checkbox):not(:file)').each(function(i){
if(ds[this.id]){$(this).val(ds[this.id])}
});
es.filter(':checkbox').each(function(i){
if(ds[this.id]){this.checked=ds[this.id]?true:false}
});
es.filter(':radio').each(function(i){
if(ds[this.id] && ds[this.id]==$(this).val()){
this.checked=true;
}
});
}
追问
没有这么复杂吧,我只是想做个图片上传而已
追答
你是想取上传文件的本地路径吧。想做上传文件的本地预览或是处理吧。
这个问题因为浏览器与本地权限的问题,是比较麻烦的,而且不同的浏览器的支持也有些不同,我也没有什么简单的办法。在新的HTML规范中,有一个formData对象,就是为了解决这个问题的。你可以看一下。
展开全部
以jquery 为例子
funciton doSubmit(){
$("#inputForm").attr("action", "/controller/someAction/dosomething");
$("#inputForm").attr("method", "post");
var my_input = $('<input type="hidden" name="groupId" />');
my_input.attr('value', groupId);
$("#inputForm").append(my_input);
$("#inputForm").submit();
}
from 也可以使用 js 创建,如
var turnForm = document.createElement("form");
document.body.appendChild(turnForm);
funciton doSubmit(){
$("#inputForm").attr("action", "/controller/someAction/dosomething");
$("#inputForm").attr("method", "post");
var my_input = $('<input type="hidden" name="groupId" />');
my_input.attr('value', groupId);
$("#inputForm").append(my_input);
$("#inputForm").submit();
}
from 也可以使用 js 创建,如
var turnForm = document.createElement("form");
document.body.appendChild(turnForm);
更多追问追答
追问
这样怎么传参呀,我表单有一个标题个内容值需要输入之后 点击提交传给后台
追答
funciton doSubmit(){
var lableValue= $("#lable").html();
$("#inputForm").attr("action", "/controller/someAction/dosomething");
$("#inputForm").attr("method", "post");
var my_input = $('');
my_input.attr('value', lableValue);
$("#inputForm").append(my_input);
$("#inputForm").submit();
}
#lable 对应你的标题控件
lableValue 是页面上输入的值
lblName 是后台对应接收的属性,在后台可以用 request.getParameter("lblName")来取值
不知道我说明白了没有
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询