Top Words:  路漫漫其修远今,吾将上下而求索。(屈原)

子雨轩网络

PHP互联网技术,互联网文摘,PHP技术,WEB开发,SEO,WAP技术,linux系统

Home » index.php » archives » category » javascript

Jquery ajax同步调用

1.先看一下我的代码
function checkUsername(){
var c_username = $(”input[@name='c_username']“).val();
if(c_username == ”){
//$(”input[@name='c_username']“).focus();
$(”#tip_c_username”).html(’<!–{$lang.account_error_username}–>’);
$(”#tip_c_username”).addClass(’redtip’);
return 0;
}
var unlen = $.trim(c_username).length;
if(unlen < 4 || unlen > 12){
//$(”input[@name='c_username']“).focus();
$(”#tip_c_username”).html(’<!–{$lang.account_error_username_len}–>’);
$(”#tip_c_username”).addClass(’redtip’);
return 0;
}
var ajax_ret = 0;
$.ajax({
type: “POST”,
url: ‘account_opt.php’,
data: “act=checkUsername&c_username=”+c_username,
success: function(msg){
if(msg == 0){
$(”#tip_c_username”).html(’<img src=”images/yes.jpg” width=”18″ height=”16″ />’);
ajax_ret = 1;
}else{
$(”#tip_c_username”).html(’ Desculpe , esse nome de usuário já foi  usado !’);
$(”#tip_c_username”).addClass(’redtip’);
ajax_ret = 0;
}
}
});
return ajax_ret;
}
调用checkUsername方法的返回值是0,尽管在success function 里边对ajax_ret 已经修改为1了。
原因默认的Jquery ajax是按异部调用的,因此方法添加一条参数“async:false”问题便解决。
function checkUsername(){
var c_username = $(”input[@name='c_username']“).val();
if(c_username == [...]

  • Hotmail
  • LinkedIn
  • Yahoo Mail
  • Yahoo Messenger
  • Google Bookmarks
  • Share/Bookmark

getElementsByClassName IE不支持

Firefox3 已经支持 getElementsByClassName ,IE不支持,不过可以用函数模拟 getElementsByClassName 功能。
document.getElementsByClassName = function(){
var tTagName =”*”;
if(arguments.length > 1){
tTagName = arguments[1];
}
if(arguments.length > 2){
var pObj = arguments[2]
}
else{
var pObj = document;
}
var objArr = pObj.getElementsByTagName(tTagName);
var tRObj = new Array();
for(var i=0; i<objArr.length; i++){
if(objArr[i].className == arguments[0]){
tRObj.push(objArr[i]);
}
}
return tRObj;
}
测试涵数
function test(){
var obj=document.getElementsByClassName(”qq”);
for (var i=0;i<obj.length;i++){
obj[i].style.color=”#ff0000″;
}
}
function test2(){
var obj=document.getElementsByClassName(”qq”,”DIV”);
for (var i=0;i<obj.length;i++){
obj[i].style.color=”#ff0000″;
}
}
function test3(){
var myid=document.getElementById(’ok’);
var obj=document.getElementsByClassName(”qq”,”DIV”,myid);
for (var i=0;i<obj.length;i++){
obj[i].style.color=”#ff0000″;
}
}

  • Hotmail
  • LinkedIn
  • Yahoo Mail
  • Yahoo Messenger
  • Google Bookmarks
  • Share/Bookmark

IE报“缺少标识符 字符串或数字”错误的原因及解决办法

通常我是在Firefox下开发调试,在Firefox运行正常,但是在IE下就报有“缺少标识符 字符串或数字”的错误。
在网上找了找还有不少朋友有过这样的经历。
原因如下:JSON最后的一项末尾多了一个逗号。在IE中,JSON最后一项的末尾是不允许有逗号的,在FF等浏览器下则可有可无。
记录一下,下次好找,遇到同样问题的朋友希望可以帮到你。

  • Hotmail
  • LinkedIn
  • Yahoo Mail
  • Yahoo Messenger
  • Google Bookmarks
  • Share/Bookmark

用prototype.js ajax.request的例子

我的项目中要求上传文件的唯一性,相同年份和月份情况下只能有一条记录,我要实现的是当用户选完上传的文件后,事件启动调用一ajax方法去服务器端请求看有没有年重复的记录,如果有重复的记录的话则返回一个提醒问用户是否要继续覆盖上传。
其中ajax的代码为:
function CheckFilename(){
var url = ‘Page_User_Pvcount.php?action_type=ajaxCheckFilenane’;
var filename = $(’File’).value;
new Ajax.Request(url, {
method: ‘get’,
parameters: “filename=”+filename+”&year=”+$F(’year’)+”&month=”+$F(’month’),
onSuccess: function(transport) {
//alert(transport.responseText);
if(transport.responseText == ‘repeat’){
showPopup(230,110);
canUpload = 0;
goonUpload = 1;
}else{
canUpload = 1;
goonUpload = 0;
}
/*if (eval(transport.responseText) == 1){
}else{
notice.update(’Damn! You are beyond #10…’).setStyle({ background: ‘#fdd’ });
}*/
}
});
}
其中服务器端代码便省去了,就是根椐传来的年份月份和文件名去查数据库并返回结果的过程了。

  • Hotmail
  • LinkedIn
  • Yahoo Mail
  • Yahoo Messenger
  • Google Bookmarks
  • Share/Bookmark

常用js函数

一,JS删除确认框
function p_del() {
var msg = “您真的确定要删除吗?\n\n请确认!”;
if (confirm(msg)==true){
return true;
}else{
return false;
}
}
调用实除<a href=”www.yangzi520.com” onclick=”return p_del();”>删除</a>
注意红色的return 一定要加哦!
二,弹出一个对话框的层
function showPopup(w,h){
var popUp = $(”popupcontent”);
popUp.style.top = “100px”;
popUp.style.left = “510px”;
popUp.style.width = w + “px”;
popUp.style.height = h + “px”;
if (baseText == null) {
baseText = popUp.innerHTML;
}
popUp.innerHTML = baseText +       “<div id=\”statusbar\”><input type=\”button\” value=\”关闭窗口\” onClick=\”hidePopup();\”></div>”;
var sbar = document.getElementById(”statusbar”);
sbar.style.marginbottom = 15 + “px”;
popUp.style.visibility = “visible”;
}
CSS设置:
<style>
#popupcontent{
position: absolute;
visibility:hidden;
overflow: hidden;
border:1px solid [...]

  • Hotmail
  • LinkedIn
  • Yahoo Mail
  • Yahoo Messenger
  • Google Bookmarks
  • Share/Bookmark

用JS实现搜索结果加亮

<script language=”JavaScript”>
function XP_Highlight()
{
this.KeyWords = null;
// 格式化关键词
this.formatKeyword = function(content, keyword)
{
keyword = keyword.replace(/(^\s*)|(\s*$)/g, “”);
if(keyword == ”)
return content;
var reg = new RegExp(’(’+keyword+’)’, ‘gi’);
return content.replace(reg, ‘<em>$1</em>’);
}
// 重绘内容区域
this.refreshContent = function(contentID)
{
var content = $(contentID).html();
for(var i = 0; i < keywords.length; i ++)
{
var strKey = keywords[i].toString();
var arrKey = strKey.split(’,’);
for(var j = 0; j < arrKey.length; j ++)
{
var key = arrKey[j];
content = this.formatKeyword(content, [...]

  • Hotmail
  • LinkedIn
  • Yahoo Mail
  • Yahoo Messenger
  • Google Bookmarks
  • Share/Bookmark

简单的用于给链接加亮取别的JS代码

#f-120 {
font-family: “宋体”;
font-size: 12px;
color: #ff0000 ;
text-decoration: none;
}
#f-120 a:link {
font-family: “宋体”;
font-size: 12px;
color: #ff0000 ;
text-decoration: none;
}
#f-120 a:visited {
font-family: “宋体”;
font-size: 12px;
color: #ff0000 ;
text-decoration: none;
}
#f-120 a:hover {
font-family: “宋体”;
font-size: 12px;
color: #ff0000 ;
text-decoration: underline;
}
<script type=”text/javascript”>
function changeName(c){
var d=document.getElementById(”menu”).getElementsByTagName(”a”);
//setCookie(’sign’,c,1);
/*var sign =getCookie(’sign’);
if(sign != c){
setCookie(’sign’,c,1);
}*/
for(i=0;i<d.length;i++){
d[i].id=i==c?”f-120″:””;
}
}
//changeName(getCookie(’sign’));
</script>

  • Hotmail
  • LinkedIn
  • Yahoo Mail
  • Yahoo Messenger
  • Google Bookmarks
  • Share/Bookmark

JQUERY获取form表单值

jquery如何取得text,areatext,radio,checkbox,select的值,以及其他一些操作;假如我们有如下页面:
<input type=“text“ name=“textname“ id=“text_id“ value=“”>
………..在此不写出来了

下面来看怎么取得FORM中的各种值等等;
function get_form_value(){
/*获得TEXT.AREATEXT的值*/
var textval = $(“#text_id“).attr(“value“);//或者
var textval = $(“#text_id“).val();
/*获取单选按钮的值*/
var valradio = $(“input[@type=radio][@checked]“).val();
/*获取复选框的值*/
var checkboxval = $(“#checkbox_id“).attr(“value“);
/*获取下拉列表中所有的值*/
var selectval = $(‘#select_id‘).val();
//获取下拉列表选取中的值,此方法针对所有下拉框都起作用的
//此方法针对所有下拉框都起作用的
//如果针对某ID进行获取,$(‘#id>option’).each()即可

$(’select>option’).each(function(){
if($(this).attr(’selected’)==true)
{
alert($(this).text());
}
})
}
3.另外对表单的其他处理:
//控制表单元素:
//文本框,文本区域:
$(“#text_id“).attr(“value“,”);//清空内容
$(“#text_id“).attr(“value“,‘test‘);//填充内容
//多选框checkbox:
$(“#chk_id“).attr(“checked“,”);//未选中的值
$(“#chk_id“).attr(“checked“,true);//选中的值
if($(“#chk_id“).attr(‘checked‘)==undefined) //判断是否已经选中 [...]

  • Hotmail
  • LinkedIn
  • Yahoo Mail
  • Yahoo Messenger
  • Google Bookmarks
  • Share/Bookmark

使用JS给搜索结果加亮(基于JQuery)

这两天在做搜索,今天做到给搜索结果加亮,用JS实现的比PHP实现的方法好不言而喻。
在网上找了一找,然后稍做修改,忘了告诉你是基于JQuery框架之上,所以你在用的时候,先引入JQuery库文件。
下面是代码:

<script type=”text/javascript”>
function XP_Highlight()
{
this.KeyWords = null;
// 格式化关键词
this.formatKeyword = function(content, keyword)
{
keyword = keyword.replace(/(^\s*)|(\s*$)/g, “”);
if(keyword == ”)
return content;
var reg = new RegExp(’(’+keyword+’)’, ‘gi’);
return content.replace(reg, ‘<i>$1</i>’);
}
// 重绘内容区域
this.refreshContent = function(contentID)
{
var content = $(contentID).html();
for(var i = 0; i < keywords.length; i ++)
{
var strKey = keywords[i].toString();
var arrKey = strKey.split(’,’);
for(var j = 0; j < arrKey.length; j ++)
{
var key = arrKey[j];
content = this.formatKeyword(content, [...]

  • Hotmail
  • LinkedIn
  • Yahoo Mail
  • Yahoo Messenger
  • Google Bookmarks
  • Share/Bookmark

php连接SQL Server 报错”could not find driver”

我记得我把extension=php_pdo.dll这样一扩展打开了,我试着查看我的连接代码.
try
{
$db = new PDO(
“mssql:dbname=pdo;host=192.168.100.201″,
“sa”,
“123456″
);
}
catch( PDOException $e )
{
die( $e->getMessage() );
}
echo “Successfully created a PDO object”;
还是报这样的错误:
Fatal error: Uncaught exception ’PDOException’ with message ’could not find driver’ in D:\APMServ5.2.0\www\htdocs\NPsite\kkphp\Libs\Db\pdo.class.php:11 Stack trace: #0 D:\APMServ5.2.0\www\htdocs\NPsite\kkphp\Libs\Db\pdo.class.php(11): PDO->__construct(’mssql:dbname=de…’, ’sa’, ’123456′) #1 D:\APMServ5.2.0\www\htdocs\NPsite\kkphp\KK.php(31): Database->__construct() #2 D:\APMServ5.2.0\www\htdocs\NPsite\www\index.php(3): include(’D:\APMServ5.2.0…’) #3 {main} thrown in D:\APMServ5.2.0\www\htdocs\NPsite\kkphp\Libs\Db\pdo.class.php on line 11
解决方法:
你一定要再去查看一下pdo_mssql有没有打开,没有打开吧,没错就是它了。
在php.ini里边把这样一个扩展打开,应该知道怎么打开吧,我就不赘述了。
pdo_mssql 跟  php_pdo.dll 都要打开哦!

  • Hotmail
  • LinkedIn
  • Yahoo Mail
  • Yahoo Messenger
  • Google Bookmarks
  • Share/Bookmark
.... ... ...