js中获取jsp中隐藏的值
控制类:
@RequestMapping(value = "/pageforward")
public ModelAndView pageforward(String page, String cdbh, final ModelMap model) {
//设置菜单编号
model.addAttribute("CDBH", cdbh);
return new ModelAndView(page, model); // page是jsp的路径
}
页面jsp:
<input type="hidden" id="recordedCdbh" value="${CDBH}"/> // 可以取的值
js:
$.ajax({
type:'post',
url:'getExOperateByYhmc.do?cdbh=' + $("#recordedCdbh").val(),
async: false,
success:function(data){
。。。。。。。
提问:
怎么可以在页面里不写input,然后再js里可以获得'${CDBH}'的值???
------解决方案-------------------- 那你至少把它放在 某个标签里面 以便用于js可以去获取
------解决方案-------------------- 就这样
var xxx = ${CDBH};
------解决方案-------------------- var value = document.getElementById("recordedCdbh");
用Jquery的话,直接$("#recordedCdbh").val();
------解决方案-------------------- N多方法,常用的是几个如下
// 1. 作为JS参数
var param = '${CDBH}'; //加引号为了防止值为空JS报错.
// 2. 作为DOM节点的属性
<span id="dataSpan" extra="${CDBH}" class="hidden"></span><!-- hidden为隐藏显示的样式,格局自己项目随便设置 -->
取值通过var param = $('#dataSpan').attr('extra');
------解决方案-------------------- var xxx = "${CDBH}"……这样写的前提是,js必须在jsp页面里面,否则不能成功
------解决方案-------------------- 引用: 各位大能们还是没有理解我的意思。
我的意思是页面jsp里的下面这句省掉
<input type="hidden" id="recordedCdbh" value="${CDBH}"/> // 可以取的值
可以直接在js里能得到controller里的
model.addAttribute("CDBH", cdbh);
值。
现在是controller-->jsp-->js,我的想法是跳过中间的这步,直接在js里得到值。但jsp页面还是存在的
soga 你的内容要有载体吧! js 写在哪里?如果是不需要页面,你何必要用js 传值呢
------解决方案-------------------- 没办法,只能用input,而且你也已经实现了这个功能了。
------解决方案-------------------- url:'getExOperateByYhmc.do?cdbh=${CDBH}',
------解决方案-------------------- 如果你的控制类是action的话 就可以取到啊