Javascript代码:
- <script type=< span="">"text/javascript">
- /**
- * 保存信息
- */
- function saveUpline(){
- var formObj = dwr.util.getFormValues("editForm");
- var prefix='upline.';
- var entityObj =form2entity(formObj,prefix);
- UplineService.save(entityObj,fillUpline);
- }
- /**
- * 填充表单数据
- */
- function fillUpline(upline){
- var prefix='upline.';
- var formObj =entity2form(upline,prefix);
- dwr.util.setValues(upline);
- }
- /**
- *
- **/
- function selectContact(url){
- //判断ID是否为空,ID = 空:新建;ID != 非空:编辑
- //新建时就先保存信息到数据库
- var idStr=DWRUtil.getValue("upline.id");
- if(idStr==null || idStr.length<=0){
- //给必需输入项设定初始值
- DWRUtil.setValue("upline.name","新建上线信息");
- //保存上线信息
- saveUpline();
- }
- //使用此语句就可以取到值,不使用就取不到值,延时处理也不可以。
- //alert(DWRUtil.getValue("upline.id"));
- idStr=DWRUtil.getValue("upline.id");
- ...............
- }
- </script>
JSP代码
- <s:textfield label="Id" name="upline.id" />
</s:textfield>---------------------------------------------------------------------------------------------------------------------------------------------------------
如果是编辑, 【upline.id】textfield有值一切正常,
如果是新建,通过 fillUpline回调函数给 【upline.id】textfield设定值后通过我标记红的那个语句获取就获取不到。
fillUpline回调函数执行后可以看到 【upline.id】textfield已经设定值了。奇怪的很!添加个alert验证是空值,
但是下面的语句就可以取到值了。
saveUpline,和 fillUpline函数可以确定执行正常, 这是怎么回事呀!