1. <input type=’text’ name=’user’ disabled=’ disabled ‘ /> 前台user属性是不能传到后台,因为在form表单里disabled属性都不能传到后台。那么不想用户输入,怎么办?
解决之道:1)用readonly="readonly" 属性代替,它可以获得焦点,但用户不能改;
或者2)用οnclick="this.blur();"属性代替,它不能获得焦点。(4.1)
2. <form action=”user.action” >
<input type=’text’ />
<a herf=”user.action” />
</form>
注意当点击a标签时form里表单数据是不会传到后台里的(两者根本没关系)
解决之道1)用<inputtype=”submit” />,点击可以提交表单;
或者2)如需要用a标签,可以这样写<a herf=”javascript:void(0);” οnclick=”form.submit();”/>.
但需要注意当需要表单进行检查时,用form.submit()是不会进行表单检查,所以应该写检查方法,当都通过是在form.submit()。(4.1)
3. 用ajax实时改变html dom时,它所改变的东西是不会在html源码里看到的,所以是不能在ajax方法外面去获取通过ajax生成的dom
但是如果要操作ajax生成的dom呢?
解决之道 可以在ajax方法里拼方法字符串
Eg:
$.post(
{id:2},
Function(data){
//在这里拼字符串
<aοnclick=’click()’ id=’a’ />
注意在这里不能在其它地方通过id获得a,但可以方法click()来改变a标签
}
);··(4.3)
4. 如果开始操作正常,但手动改了在数据库里的数据,突然报jdbc notupdate bacth 类似的错误,建议重启服务器,有可能解决。(4.3)
5. 当更新数据时,或者报错,或者改记录有的字段突然变成空的,原因很简单,就是前台没有传主键,后台通过该主键获得记录,所以一般都是在表单里做个隐藏域<input type=’hiddent’ name=’id’ value=’id值’ />. (4.4)
6. 可以用js弹出一个新窗口,或者弹出一个<iframe/>. 尽管看起来差不多效果,但是方法是不一样的。
新窗口,要获得打开的那个窗口(就是原窗口),用this.opener属性可以引用原窗口(再可以获取原窗口其他dom);要关闭自身可以调用self.closed()方法关闭自己。
<iframe/> 要获得它的父窗口,用this.parentNode属性获得父窗口引用,它没有close方法。 (4.5)
7.关于fckeditor(详细信息可以百度,谷歌)
1)它有个jar包,和fckeditor文件夹
2)web.xml需要引用过滤器
3) 可以配置,在fckconfig里可以配置自己想要的东西
4)如果上传图片出现这样的错误:index 0 size 0,解决之道可以在fckconfig里类似uploadimage= true。如果还不行,那么看看struts配置,它需要修改,不能<url-pattern>/*<url-pattern>这样,改成<url-pattern>*.action<url-pattern>,若果jsp里用到struts标签,还需在加上<url-pattern>*.jsp<url-pattern>基本就可以解决无法上传图片问题了。 (4.7)
8. 工作中用到的两个js插件(记住多用插件实现友好界面)
1)当有大量的表单需要做前台验证时,推荐使用jquery.validata.js插件,它有可视化操作,简单易用
2)当想用js实现弹出一个窗口,然后利用ajax上传文件时,推荐使用swfupload插件,它不仅有着很友好的界面,还有实现多文件上传。 (4.10)