日期:2014-05-17  浏览次数:20878 次

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}'的值???
jsp js function url

------解决方案--------------------
那你至少把它放在  某个标签里面 以便用于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的话 就可以取到啊