2013-03-06 67 views
1

首先,让我道歉,如果这是重复的,但我的搜索没有让我更开明比我目前。也就是说,我现在正在尝试JavaScript/Ajax/jQuery,并且遇到了一些问题。onclick执行javascript函数并返回div的结果

我想在我的主页上添加一个功能检查,用户可以测试他们的浏览器是否配置为允许使用Cookie & Cookie(如果用户的浏览器不允许, JavaScript &饼干,因为这个网站是为我们公司的客户独家使用,我们,几乎决定使用我们网站的条款和条件)。

现在,经过一番研究(GIYF和所有这些)之后,看起来最好的方法是让JavaScript设置cookie,从而一石二鸟。当然,我们将无法缩小“一方或另一方”的失败,但我试图尽可能简化(对我来说)。即使如此,我不确定我是否正确地采取这种方式。下面是我的.js文件中的代码:

function error_reporting (level) { 
// http://kevin.vanzonneveld.net 
// + original by: Brett Zamir (http://brett-zamir.me) 
return this.ini_set('error_reporting', level); 

} 

var set = $(document).getUrlParam('set'); 

if(set !== 'yes') { 

    var date = new Date(); 
    var midnight = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59); 

    $.cookie('candcptest', 'ok', { 

    expire: midnight, 
    path: '/', 
    domain: 'candcp.rossdb.net', 
    secure: false 

    }, function() { 

    window.document.reload(); 

    }); 

} else { 

    var candcptest = $.cookie('candcptest'); 

    if(candcptest !== undefined) { 
    var ccptresult = 'Thank you. Your browser is configured to allow JavaScript and accept cookies. You may proceed with login'; 
    } else { 
    var ccptresult = 'Thank you. Unfortunately, your browser is not configured correctly. Please check your settings or contact the Dev Team for assistance'; 
    } 
}; 

(我以前写的一个非常基本的测试允许PHP的cookie,然后进行修改,要在等创建这个上面可能是没谱的方式本身)

现在,理想情况下,我想使用jQuery,因为这看起来像一个非常适合它的任务,但显然,我不知道如何去做这件事。这是我在我的HTML文件:现在

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <link href="styles/global.css" rel="stylesheet" type="text/css" /> 
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
    <script type="text/javascript" src="js/jquery.cookie.js"></script> 
    <script type="text/javascript" src="js/jquery.getUrlParam.js"></script> 
    <script type="text/javascript"> 
     $(function() { 
     $('a#ccpt').click('js/candcptest',function() { 
      $('div#ccptresult').append(result); 
     }); 
     }); 
    </script> 
    </head> 

    <body class="body"> 
    <table width="1000" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF"> 
     <tr> 
     <td width="1000" height="545" align="center" valign="middle"> 
      <table border="0" align="center"> 
      <tr> 
       <td width="750" height="150" align="center" class="text0down"> 
       This website makes use of JavaScript and cookies and it is essential that your browser is configured correctly in order for this website to work. If you are unsure if your browser is set up correctly, click <a href="#" class="text0down" id="ccpt">here</a> to test. 
       <div id="ccptresult"></div> 
       </td> 
      </tr> 
      </table> 
     </td> 
     </tr> 
    </table> 
    </body> 
</html> 

,这个想法(以防万一我的JS是如此难以理解,你不能弄清楚什么,我试图做的)是,当用户点击链接(a#ccpt),js将执行并且结果(var结果)将显示在div(div#ccptresult)中。

我认为不言而喻,测试页面完全没有任何东西,所以有些东西是严重不正确的,但考虑到,直到7天前,我从来没有写过一行js代码,这并不奇怪,我的知识远不足以证明我自己出错的地方。

任何帮助将不胜感激。

+0

在我的旅行通的jQuery,我已经严重依赖于从那些谁在我之前去了学习。换句话说,我已经在网上找到了脚本和教程,并且通过它们来查看我是否能够(a)掌握他们所做的事情,并(b)让我的代码做他们的工作,但这种自学有它限制(和缺点,当事情不像他们应该那样工作时,我无法弄清楚为什么,因为我不能“问老师”)。同样,当我尝试将这些代码片段合并到我所需要的某些东西时,我碰壁时,需要我永远找出问题出在哪里。 – UbuntuElphie 2013-03-06 13:29:34

+0

所以,如果你需要我发布我使用过的其他.js文件(例如jquery.cookie.js和jquery.getUrlParam.js - 这些都是共享插件,超出了我的技能,所以我甚至没有尝试过去理解他们),以防万一这些事情让我沮丧,只是让我知道。我没有包括他们,因为我认为这篇文章已经够长了。再次感谢 – UbuntuElphie 2013-03-06 13:30:08

+0

哪个js功能你说的是abt BTW – dakait 2013-03-06 13:33:22

回答

0

如果我理解正确的

$(function() { 
     $('a#ccpt').click(function() { 
      //execute the js function here 
      $('div#ccptresult').append(result); 
     }); 
     }); 
+0

谢谢。你绝对把我放在正确的轨道上。虽然我似乎无法让js在外部文件中执行,但现在将它复制到内联的位置,它现在可以完美执行,并且console.log(ccptresult)会吐出成功消息。但是,它不会将消息追加到#ccptresult div。任何想法为什么会发生? – UbuntuElphie 2013-03-06 15:20:20

+0

尝试使用'.html'而不是'.append' – dakait 2013-03-06 16:15:05