【问题标题】:Php inside a javascript function?php里面有一个javascript函数?
【发布时间】:2011-06-11 09:08:38
【问题描述】:

我的用户收件箱中有一项功能,允许用户选中/取消选中收件箱中他们想要收藏的邮件。

我目前正在测试当用户选中该框时会发生什么(点击图像并使其从灰色变为彩色,表示该框已被选中)。

无论如何您可以从下面的代码中看到当框架被屏蔽时,此URL被选为已加载:http://mysite.com/messages/favourite_checked

假设用户选中该框的行的 message_id 被添加到 url 的末尾,然后加载我的控制器“消息”和方法“favourite_checked”,然后传递一个变量,该变量从url,将其存储在变量中,然后将其发送到我的模型,并在 mysql 查询中使用。

基本上,我更新了我的消息表的收藏夹列并将其设置为 = 1,其中来自 url 的 message_id 与我的数据库中的消息表中的匹配。所以是的,在找到匹配项的地方,该行中的“收藏夹”列更新为 1。1 = 收藏夹 0 = 不收藏夹。

我只是想我会说清楚发生了什么..

我的问题是当我选中该框时没有任何反应,没有任何更新,所以我觉得我在尝试将 id 添加到 javascript 函数中的 url 时一定做错了。

我也试过 $(post).. 然后也没有任何反应。

也许有人能发现它,因为我真的不知道问题出在哪里。

<script type="text/javascript">

// favourite check box
    $('input.favourite:checkbox').simpleImageCheck({
  image: '<?php echo base_url()?>images/messages/check.png',
  imageChecked: '<?php echo base_url()?>images/messages/unchecked.png',
  afterCheck: function(isChecked) {
    if (isChecked) {



  //query to db from php to update favourite number to 1
  $.get('http://mysite.com/messages/favourite_checked'+'<?php foreach ($query as $row):  ?><?php $row['id']; ?><?php endforeach; ?>');

    }
//    else (!isChecked)
//        {
//            //query to db from php to update favourite number to 0
//              $.get('http://mysite.com/messages/favourite_unchecked');
//        }
  }
});
</script>

【问题讨论】:

  • JS经过PHP解析后是什么样子的?
  • 不确定您的意思,但当我选中该框时实际上没有任何反应。
  • 什么是simpleImageCheck(),它是来自插件还是您在其他地方定义的东西?
  • 这是我得到插件的地方:jkdesign.org/imagecheck/examples.php 我删除了代码,这是一个弹出框,在选中框后会弹出,这是我放置 url 的地方
  • @Psychonetics - 我相信他的意思是你应该运行页面,然后去查看页面源代码。然后你会看到 PHP 解析后的 java 脚本是什么样子的。

标签: php jquery mysql templates variable-assignment


【解决方案1】:

我认为您的基本问题是关于 PHP 何时运行与 javascript 的一些混淆。

你放在页面上的PHP是服务器端的,它会先加载,然后javascript运行客户端。

这部分在这里:

$.get('http://mysite.com/messages/favourite_checked'+'<?php foreach ($query as $row):  ?><?php $row['id']; ?><?php endforeach; ?>');

根据您检查的内容,您似乎希望这是动态的,但我看不出该网址将如何具体显示您正在寻找的内容。

【讨论】:

    【解决方案2】:

    关于 PHP:

    我想你想替换这个:

    <?php $row['id']; ?>    // does nothing
    

    用这个:

    <?php echo $row['id']; ?>    // echo's the id
    

    虽然我不确定这是否会起作用,因为你在那里的循环会生成一个奇怪的 url,只需添加所有 id ......

    关于javascript:

    我不熟悉您正在调用的 simpleImageCheck() 函数,但它有 onClickonChange 事件处理程序吗?否则我根本看不到您的代码正在运行。

    【讨论】:

      猜你喜欢
      • 2021-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-10
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      相关资源
      最近更新 更多