onclick执行javascript函数并在div中返回结果

onclick执行javascript函数并在div中返回结果,javascript,jquery,cookies,Javascript,Jquery,Cookies,首先,请允许我道歉,如果这是一个重复,但我的搜索没有留下任何比我现在更开明。也就是说,我目前正在尝试JavaScript/Ajax/jQuery,但遇到了一个小小的障碍 我想在我的主页上包括一个功能检查,用户可以测试他们的浏览器是否配置为允许JavaScript和Cookie。如果用户的浏览器不允许JavaScript和Cookie,我并不过分担心代码的可降解性,因为这个网站是专为我们公司的客户和我们,规定使用我们网站的条款和条件 现在,在对GIYF进行了一些研究之后,似乎最好的方法是让Java

首先,请允许我道歉,如果这是一个重复,但我的搜索没有留下任何比我现在更开明。也就是说,我目前正在尝试JavaScript/Ajax/jQuery,但遇到了一个小小的障碍

我想在我的主页上包括一个功能检查,用户可以测试他们的浏览器是否配置为允许JavaScript和Cookie。如果用户的浏览器不允许JavaScript和Cookie,我并不过分担心代码的可降解性,因为这个网站是专为我们公司的客户和我们,规定使用我们网站的条款和条件

现在,在对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太难理解,以至于你无法理解我要做的是,当用户单击链接accpt时,js将执行,结果var result将显示在div divccptresult中

我认为不用说,测试页面完全没有任何作用,所以有些东西是严重不正确的,但考虑到直到7天前,我还没有写过一行js代码,所以我的知识远远不够好,不足以找出我自己的错误


如果我理解正确,将非常感谢您的帮助。

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

在我通过jQuery的旅行中,我非常依赖于向我之前的人学习。换句话说,我在网上找到了脚本和教程,并仔细阅读了它们,看看我是否能掌握它们所做的事情,让我的代码去做它们所做的事情,但这种自学有其局限性和缺点,当事情不能像它们应该做的那样工作时,我无法找出原因,因为我不能直接问老师。类似地,当我试图将这些代码片段组合成我需要的东西时,我会花上一辈子的时间来找出问题所在。所以,如果你需要我发布我使用过的其他.js文件,比如jquery.cookie.js和jquery.getUrlParam.js,这两个都是超出我技能范围的共享插件,所以我甚至没有试着理解它们,以防它们让我绊倒,让我知道。我没有包括他们,因为我认为这篇文章已经足够长了。再次感谢您正在谈论的js函数abt BTWThanks。你肯定让我走上了正确的道路。虽然我似乎无法让js在外部文件中执行,但将其内联复制到您展示给我的地方,现在可以完美地执行它,并且console.logccptresult会发出成功消息。但是,它不会将消息附加到ccptresult div中。对于为什么会发生这种情况,您有什么想法吗?请尝试使用.html而不是.append