2 chaoggzxi44 chaoggzxi44 于 2014.12.17 21:23 提问

问一个用easyui jsp做的增加界面。。

界面功能是增加新闻。。有1.文本 2.含有图片的新闻 两种 通过增加按钮打开新的jsp
增加界面的上方有个下拉框 通过下拉框1.文本 2.图片 实现两个不同的界面

请问要怎么实现这个功能?

4个回答

showbo
showbo   Ds   Rxr 2014.12.17 21:44
已采纳

用jquery的ajax提交数据就好了。你的含有图片是什么意思?弹出的dialog内容中包含input为file的控件?

如果是含有file控件,需要即将你的表单提交到隐藏的iframe来上传数据,ajax无法直接提交文件,如果不考虑IE9-,可以使用html5的FormData来添加文件数据,这样可以用ajax提交数据

你的dialog的内容是iframe加载的jsp页面或者是配置dialog的href用ajax加载的?

建议 你用iframe的形式,这样提交表单就在iframe里面,不会刷新父页了

    <div id="dlg" class="easyui-dialog" title="Basic Dialog" data-options="iconCls:'icon-save'" style="width:400px;height:200px;padding:10px">
        <iframe src="xxxxxx.jsp"></iframe>
    </div>
chaoggzxi44
chaoggzxi44 为什么jquery第一次选择文本时可以把file隐藏起来,继续操作的话,jquery就不起作用了。选择图片类型就没有反应了,不会显示file。
接近 3 年之前 回复
chaoggzxi44
chaoggzxi44 为什么jquery第一次选择文本时可以把file隐藏起来,继续操作的话,jquery就不起作用了。选择图片类型就没有反应了,不会显示file。
接近 3 年之前 回复
chaoggzxi44
chaoggzxi44 <tbody id="picturetr" > <tr> <td valign="top" align="right"><span style="font-size:12px;">公告简介:</span></td> <td align="left"><textarea name="noticeContent" cols="15" rows="2" style="resize:none;width:200px;" ></textarea></td> </tr></tbody>
接近 3 年之前 回复
chaoggzxi44
chaoggzxi44 <tr> <td><span style="font-size:12px;" >请选择文本类型:</span></td> <td align="left"> <select id="noticeType" name="noticeType" panelheight="auto" style="width: 200px;"> <option value="图片">图片</option> <option value="文本">文本</option> </select> </td> </tr>
接近 3 年之前 回复
chaoggzxi44
chaoggzxi44 <tr> <td><span style="font-size:12px;" >请选择文本类型:</span></td> <td align="left"> <select id="noticeType" name="noticeType" panelheight="auto" style="width: 200px;"> <option value="图片">图片</option> <option value="文本">文本</option> </select> </td> </tr>
接近 3 年之前 回复
chaoggzxi44
chaoggzxi44 $(function(){ $("#noticeType").change(function(){ //alert("选中值变更,事件触发了。"); var checkText=$("#noticeType").val(); if(checkText="文本"){ $("#picturetr").hide(); }else if(checkText="图片"){ $("#picturetr").show(); } }); }
接近 3 年之前 回复
chaoggzxi44
chaoggzxi44 $(function(){ $("#noticeType").change(function(){ //alert("选中值变更,事件触发了。"); var checkText=$("#noticeType").val(); if(checkText="文本"){ $("#picturetr").hide(); }else if(checkText="图片"){ $("#picturetr").show(); } }); }
接近 3 年之前 回复
chaoggzxi44
chaoggzxi44 $(function(){ $("#noticeType").change(function(){ //alert("选中值变更,事件触发了。"); var checkText=$("#noticeType").val(); if(checkText="文本"){ $("#picturetr").hide(); }else if(checkText="图片"){ $("#picturetr").show(); } }); }
接近 3 年之前 回复
showbo
showbo 给你的select添加change事件,判断选择的图文就显示file控件,否则就隐藏
接近 3 年之前 回复
showbo
showbo 回复chaoggzxi44: 一样的,因为你表单里面含了file,ajax无法直接传递file,当然你要加判断分别采用ajax(不传图片)或者提交到iframe都行,只是会增加代码量,不如直接如我说的全部提交到iframe中
接近 3 年之前 回复
chaoggzxi44
chaoggzxi44 页面刚开始是左边文本,如果下拉框选择图片,界面就变为右边的样子
接近 3 年之前 回复
showbo
showbo 回复chaoggzxi44: 包含file要将表单提交到隐藏iframe实现,<form target="ajaxifr"... <iframe name="ajaxifr"...,要不就如贴出来的代码说的,用iframe来加载你的jsp,直接提交就是在iframe里面不会刷新父页
接近 3 年之前 回复
chaoggzxi44
chaoggzxi44 界面这样的 http://img.blog.csdn.net/20141218095442568?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hhb2dnenhpNDQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
接近 3 年之前 回复
chaoggzxi44
chaoggzxi44   2014.12.17 21:26

还是在原来的界面,没有发生跳转和刷新

qq_24065825
qq_24065825   2014.12.18 11:51

还是在原来的界面,没有发生跳转和刷新

CSDNJavaLiwei
CSDNJavaLiwei   2014.12.18 12:16

用iframe包含另外一个页面就可以了啊。

Csdn user default icon
上传中...
上传图片
插入图片