首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET Framework >

一个简单的JQuery,该怎么处理

2012-01-06 
一个简单的JQueryhtml代码:!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www

一个简单的JQuery
html代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>JQuery实战1-用户名校验</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link type="text/css" rel="stylesheet" href="css/userVerify.css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/userVerify.js"></script>
</head>
<body>
请输入用户名:<input type="text" id="userName" class="userText"/> <input type="button" value="校验" id="verifyButton" />
<div id="result"></div>
</body>
</html>




JS代码(JQuery就不给出了)

/*
 * 需要通过Javascript代码来做两件事情
 * 1.button被按下的时候,需要将文本框中的数据获取到,然后发送给服务器端,最后接受服务器返回的数据,填充

到我们预留的div中,这样用户就可以看到结果
 * 2.文本框上,用户按键之后,需要判断文本框中的内容是否为空,如果不为空,红色的边框和背景图就应该取消,

否则保留
 * */

/*
 * 需要在页面装载完成是注册上这些工作
 * */
$(document).ready(function() {
//这里面的内容就是页面装载完成后需要执行的代码
var userNameNode = $("#userName");
//需要找到button按扭,注册事件
$("#verifyButton").click(function() {
//1.获取文本框的内容
var userName = userNameNode.val();
//2.将这个内容发送给服务器端
if (userName == "") {
alert("用户名不能为空");
} else {
$.get("http://127.0.0.1:8080/UserVerify/UserVerify.html?userName=" + encodeURI

(encodeURI(userName)),null,function(response){
//3.接收服务器端返回的数据,填充到div中
$("#result").html(response);
});

}
});
//需要找到文本框,注册事件
userNameNode.keyup(function(){
//获取当前文本框中的内容
var value = userNameNode.val();
if (value == "") {
//让边框变成红色,并且带背景图
userNameNode.addClass("userText");
} else {
//去掉边框和背景图
userNameNode.removeClass("userText");

}
});
});


 问题是:我用的服务器是tomcat也放入了服务器目录了,运行是 http:localhost:8080//UserVerify/UserVerify.html

页面输入效果出来了,但点击按钮时没有在页面上输出。也就是说点击按钮时没反应。谢谢

[解决办法]
可能问题出在这里

$.get("http://127.0.0.1:8080/UserVerify/UserVerify.html?userName=" + encodeURI

(encodeURI(userName)),null,function(response){

改成
$.get("/UserVerify/UserVerify.html?userName=" + encodeURIComponent(userName), null, function (response)

你是跨域导致
[解决办法]
你在浏览器中输入
http://127.0.0.1:8080/UserVerify/UserVerify.html?
可以显示内容吗
[解决办法]
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/userVerify.js"></script>

引用的文件路径对吗/
[解决办法]
var userNameNode = $("#userName"); 
//需要找到button按扭,注册事件
$("#verifyButton").click(function() {


换成
//需要找到button按扭,注册事件
$("#verifyButton").click(function() {

var userNameNode = $("#userName"); 


试试

UserVerify.html换成我自己的测试文件,测试是可以的
[解决办法]
注意已经换成
encodeURIComponent(userName)

------解决方案--------------------


完整的测试代码

HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>  <title>JQuery实战1-用户名校验</title>  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  <style type="text/css">    .userText { background: red; }  </style>  <script type="text/javascript" src="jquery-1.6.2.min.js"></script></head><body>  请输入用户名:<input type="text" id="userName" class="userText" />  <input type="button" value="校验" id="verifyButton" />  <div id="result"></div>  <script type="text/javascript">    $(document).ready(function () {      //这里面的内容就是页面装载完成后需要执行的代码      var userNameNode = $("#userName");      //需要找到button按扭,注册事件      $("#verifyButton").click(function () {        //1.获取文本框的内容        var userName = userNameNode.val();        //2.将这个内容发送给服务器端        if (userName == "") {          alert("用户名不能为空");        } else {          $.get("b.aspx?userName=" + encodeURIComponent(userName), null, function (response) {            //3.接收服务器端返回的数据,填充到div中             $("#result").html(response);          });        }      });      //需要找到文本框,注册事件      userNameNode.keyup(function () {        //获取当前文本框中的内容        var value = userNameNode.val();        if (value == "") {          //让边框变成红色,并且带背景图          userNameNode.addClass("userText");        } else {          //去掉边框和背景图          userNameNode.removeClass("userText");        }      });    });  </script></body></html> 

热点排行