关于JSP通过JS传值Java后台
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于JSP通过JS传值Java后台相关的知识,希望对你有一定的参考价值。
现在有一个需求,我需要将用户在页面上输入的手机号码传递到后台,查询归属地运营商,然后将归属地运营商返回给前台做展示,然后通过归属地运营商以及另外的用户所以提供的条件(两个单选框)传到后台做查询。
现在被JS卡住了,本人是个菜,大神们帮帮忙,最好详细点,有代码或伪代码最好
@RequestMapping("/查询归属地的action")
public ModelAndView findAddress(String telephone(这个参数名要和你表单中的电话输入框的name一样))
//在这进行查询,得到归属地,应该是个字符串吧
ModelAndView mv = new ModelAndView();
mv.addObject("页面回显的name", 归属地);
mv.setViewName("你要跳转的页面");//你的视图解析得配,不配的话可以给相对地址,但是不要放在web-inf下
return mv;
下面那个是一样的,参数用过方法参数接收即可 参考技术A
通过输入手机号码input的失去焦点事件触发一个ajax请求
<input tpye="text" id="phone"> //假设这个是你页面的手机号码输入框<span id="place"></span> //这是显示号码归属地
<script type = "text/javascript" >
$(document).on('onblur', '#phone', function() //绑定phone的失去焦点事件
var phone = $("#phone").val();
$.ajax(
type: "post",
url: "XXXXXXXXXXX", //你的根据号码获取归属地的请求路径
data: "phone="+pnone,
success: function(data) //data返回号码归属地
$("#place").html(data);
)
)
</script>追问
谢谢大神,还有一个问题,我还需要拿着归属地、运营商、作用域和类型再传到后台做查询,其中后两个是用户在页面上勾选单选框的,归属地跟运营商我是不是可以直接使用
var place = $("#place").val;
var operator = $("#operator").val;
这样来取到值?
如果你的place是input的话可以用$("#place").val();,如果是span、td等标签的话需要用$("#place").html()来取值
追问这样可以吗
可以的,
val后面加()
$("button").click(function()
$.ajax(url:"demo_test.txt",data:"number":"12344","id":"11111"success:function(result)
$("#div1").html(result); );); url请求地址,data传过去的参数 result返回的值具体看ajax
例子是我百度的ajax
SSM+JQuery
JSP关于checkbox传值的问题
下面这段程序我想选择一些水果点击“确定”之后在confirm.jsp这页面能显示出我选择的水果名称。但是我不知道这两个页面的代码怎么写(我只写了一个页面,可能也不对),求教高手,谢谢!!!
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>checkbox选值测试</title>
</head>
<form method="get" action="confirm.jsp">
<body>
<input type="checkbox" name="1" value="苹果">苹果<br>
<input type="checkbox" name="2" value="香蕉">香蕉<br>
<input type="checkbox" name="3" value="雪梨">雪梨<br>
<input type="checkbox" name="4" value="香瓜">香瓜<br>
<input type="checkbox" name="5" value="蛇果">蛇果<br>
<input type="checkbox" name="6" value="地瓜">地瓜<br>
<input type="submit" value="确定">
</body>
</form>
</html>
你这个页面的<input type="checkbox" name="f" value="苹果">里name都改成一样的
只要你在confirm.jsp页面写上如下代码
<%
String arr[]= request.getParameterValues("f");//这时接收到的就是一个数组了
for(int i=0;i<arr.length;i++)
out.println(arr[i]);
%> 参考技术A <input type="checkbox" name="check1" value="苹果">苹果<br>
<input type="checkbox" name="check1" value="香蕉">香蕉<br>
<input type="checkbox" name="check1" value="雪梨">雪梨<br>
<input type="checkbox" name="check1" value="香瓜">香瓜<br>
<input type="checkbox" name="check1" value="蛇果">蛇果<br>
<input type="checkbox" name="check1" value="地瓜">地瓜<br>
后台:
String checks[] = request.getParameterValues("check1");
for(String check:checks)
if(check!=null && !"".equals(check))
System.out.println(check+"被选中!");
参考技术B 你可以写一个js方法,checkbox的name要一样,然后判断那几个选中,取得他的value值,弄成一个字符串,在提交表单的时候加上这个字符串的,你是不是没有和后台交互的呀?追问
代码
追答//批量删除
function batchDeleteadmins(delTagAction, listTagAction)
var currentPage=$("#currentPage").val(); //获取当前页
//alert(currentPage);
var ids=new Array();
if($("input[name='ids']:checked").size()==0)
alert("请选择需要删除的内容!");
return false;
$("input[name='ids']:checked").each(function(i,obj)
ids[i]=$(obj).val();
);
// alert("哈哈");
var idStr=ids.join("-");
$.ajax(
url:delTagAction,
data:
sendTime:(new Date()).getTime(),
idStr:idStr
,
type:"post",
async:false,
dataType:"json",
success:function(data)
if(data.success==true)
$("#middle").load(listTagAction,
sendTime:(new Date()).getTime(),
currentPage:currentPage
)
alert("删除成功!!!");
);
这是ajax交互的,你自己看一下,改写一下。
以上是关于关于JSP通过JS传值Java后台的主要内容,如果未能解决你的问题,请参考以下文章