一个简单的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)
------解决方案--------------------
完整的测试代码
<!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>