`
Thomas会Coding
  • 浏览: 93689 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js中值传到java中

 
阅读更多

对于一个web开发的初学者来说,想把所有的东西都用java代码写,这种想法是理所当然的但是在找了好多地方后,都没法找到一种最简单的方法使得值直接的传出。

下面分享一下我的解决方法吧。

目的,想用js的一个api jquery 做出一个对话框,对话框是用来发布通知的,当用户在对话框中将通知的内容填写完成后,将内容存到数据库中。

基本思路:①:获取对话框的内容,document.getElementsByName("");

②:在form表单如下:使用get是想在浏览器中看值是否传出,后期可改。SaveNotice是具体处理form表单的类。在这个类里,可以用request.getParameter("notice_save");得到隐含元素的值。

 
<form name="form1" method="get" action="http://localhost:8080/kxw_service/SaveNotice" > 
<div id="dd"> 
<h3>content:</h3>
<textarea name="notice" rows="10" cols="52"></textarea><br/>
<h3>priority:</h3>
all:<input type="radio" name="level" value="0">
worker:<input type="radio" name="level" value="1">
</div> 
<input type="hidden" name="notice_save">
<input type="button" value="发布新通知" onclick="jQuery('#dd').dialog('open')">
</form>
 

在js中需要写的内容如下

<script type="text/javascript">
	jQuery('#dd').dialog({     
    modal: true, 
    width: 350,
    height: 300, 
    closed: true,
    buttons:[{
			text:'Ok',
			iconCls:'icon-ok',
		        handler:function(){
			var noticeToSave;
			var notice_str=jQuery("textarea").val();//nice
			var chkObjs = document.getElementsByName("level");
			for(var i=0;i<chkObjs.length;i++){
				if(chkObjs[i].checked){
				noticeToSave=notice_str+","+chkObjs[i].value;						
		document.form1.notice_save.value=noticeToSave;//将通知的内容传给隐含元素					
		document.form1.submit();//提交表单
                alert("通知发布成功。"
                             break;   
	   						   }
						}
					}
				},{
					text:'Cancel',
					handler:function(){
						jQuery('#dd').dialog('close');
					}
				}]
	}); 

function open(){

	jQuery('#dd').dialog('open');
}

</script>

 

我使用的是jquery的一个插件easyui 做的对话框,所以需要引入相应的库。

简单总结一下思路。将对话框中的值保存在一个隐含元素中,然后通过提交表单的方式将表单中的值传出,具体在servlet配置的时候需要注意下。这种方式可以解决js传值到java的问题,里面还有很多小问题,在具体解决的时候再看吧。。。。。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics