0 注意事项
0.1 在每个页面中都要加载Jquery文件
0.2 访问id时一定要加'$'
1 如何获取input的值
document.getElementById('').value;? ( X )
正确取法是:eval(document.getElementById('')).value
为什么要将"value"的'v'小写呢?因为MyEclipse它太坑逼(请允许小编粗鲁一次)啦,MyEclipse的自动提示是"Value",然后IE就提示"undefined"错误。。。无语,坑了小编两个小时。
2 网站页面中js文字显示乱码
假设使用该.js文件的.jsp页面中的charset设为了"utf-8"。
那么将js文件的所有编码均设为"utf-8",包括:
(1)右键js文件(在MyEclipse中)——>properties——>Text file encoding设置为"utf-8"。
(2)在<script>标签中引用该.js文件时将charset设置为"utf-8"。
参考网站:绿色资源网
3 如何从JSP页面向JavaScript函数传参数
<input type="button" οnclick='validate("<%=str%>")' />,然后在js里定义validate函数:
<script type="text/javascipt">
function validate(name)
{
alert(name);//即将str的值在js里显示出来了
}
</script>
特别注意:
οnclick='validate("<%=str%>")'
最外层是单引号,里面才能用双引号。
参考网站:新浪博客
4 如何在JavaScript文件中访问session
个人并没有成功实现过真正的在.js文件中访问。
采取的方法是,在Jsp文件中访问session,向.js文件中的函数传参数。
eg:
<input type="submit" name="submit" οnclick="commitComment(<%= session.getAttribute(Constants._String.SESSION_KEY_LOGINNAME) %>)"/>
<pre name="code" class="html">function commitComment(loginName){
alert(loginName);
}
5 乱码篇
5.1 JavaScript使用$.getJSON()向服务器传过去的数据变成乱码
var url = 'http://localhost/ajax/postData.action';
var getParam = {
userid:stat_userid,
title:encodeURI(document.title,"utf-8"),
t:stime
};
$.getJSON(url,getParam);
String title = URLDecoder.decode(title,"utf-8");
6 如何修改标签的属性
$("#productPrice").text("想要设置的内容");
<pre name="code" class="html">$("#productPrice").val("想要设置的值");
参考网站:http://www.w3school.com.cn/jquery/jquery_dom_set.asp
6.2 对于<img>标签,修改src属性的值
$("#imgId").attr('src',path);
参考网站:http://www.jb51.net/article/46861.htm
注:其实,通过attr()可以完成对所有属性的操作,包括读和写。
例:
读 属性的值(1个参数):
$("img").attr("width")
如上。
参考网站:http://www.w3school.com.cn/jquery/attributes_attr.asp
7 如何判断var类型的变量是否等于null
var loginName ;
if(loginName == 'null')
8 向<input>中输入值后,用Jquery $("#id").attr("value")获取到的还是旧值
$("")是一个jquery对象,而不是一个dom element
value是dom element的属性
jquery与之对应的是val()
所以 使用Jquery 访问<input>的value值时应用 $("#id").val()
参考网站:脚本之家
9 Jquery 设置<textarea>的内容
<textarea id="id_content"></textarea>
$("#id_content").val("这是内容");
10 如何获取<select>选中的值
<select name="birthyear" id="id_year">
<span style="white-space:pre"> </span><option value="2000">2000</option>
<option value="1999" selected="selected">1999</option>
</select>年
var born_year = $('#id_year option:selected').val();
$("#id_year").empty();
for(var i = 1900;i<=currentYear - 1;i += 1){
if(i == year){
$("#id_year").append('<option value="' + i + '" selected="selected">'+i+'</option>');
}else{
$("#id_year").append('<option value="' + i + '" >'+i+'</option>');
}
}
11 如何获取radio选中的值
<td><input type="text" class="text" name="name" value="张三" id="id_vipName"/></td>
var sexName;
if($("#id_radio_male").attr("checked") == "checked"){
sexName = "男";
}else{
sexName = "女";
}
//$('#sexes input[name="sex"]:checked').val()
设置radio的选中值
var sexName = data.sexName;
if(sexName == '男'){
$("#id_radio_male").attr("checked","checked");
}else{
$("#id_radio_female").attr("checked","checked");
}
12 Jquery 使用 $.aJax({data{}})发送数据
var loginName = $("#id_loginName").val();
var userTel = $("#id_tel").val();
var userAdd = $("#id_reAdd").val();
var password = $("#id_password").val();
var born_year = $('#id_year option:selected').val();
var born_month = $('#id_month option:selected').val();
var born_day = $('#id_day option:selected').val();
var vipuserName = $("#id_vipName").val();
$.ajax({
url:commitURI,
async:false,
type:'post',
datatype:'json',
data:{
"sexName":sexName,
"loginName":loginName,
"userTel":userTel,
"userAdd":userAdd,
"password":password,
"born_year":born_year,
"born_month":born_month,
"born_day":born_day,
"vipuserName":vipuserName
},
success:function (data) {
alert("修改成功");
window.location.href="manage-result.jsp";
},
error:function (data) {
alert("System error happens !");
}
});
注意,上面的data不可以换成如下方式,即不能直接使用Jquery设置值,否则将获取到旧值。
data:{
<pre name="code" class="javascript"> <span style="white-space:pre"> </span> "loginName" = $("#id_loginName").val();
<span style="white-space:pre"> </span> "userTel" = $("#id_tel").val();
<span style="white-space:pre"> </span> "userAdd" = $("#id_reAdd").val();
<span style="white-space:pre"> </span> "password" = $("#id_password").val();
<span style="white-space:pre"> </span> "born_year" = $('#id_year option:selected').val();
<span style="white-space:pre"> </span> "born_month" = $('#id_month option:selected').val();
<span style="white-space:pre"> </span> "born_day" = $('#id_day option:selected').val();
<span style="white-space:pre"> </span> "vipuserName" = $("#id_vipName").val();
},
13 Jquery页面跳转成功的示例
1.
window.open("manage-result.jsp");