【问题标题】:Change php array when user checks a checkbox当用户选中复选框时更改 php 数组
【发布时间】:2012-09-13 09:03:05
【问题描述】:

我有一列有一个按钮,当按下该按钮时,会链接到 PHP 中设置的 URL。我想在该按钮旁边添加一个复选框,以便如果在用户按下按钮时选中它,它会将它们带到备用网址。设置url的PHP代码:

<?php
    $link =  'http://www.example.com'; 
?>

我意识到代码需要在 javascript 中,我不知道。我只知道一点点 php,所以任何帮助都会得到帮助。

澄清一下:(当然我知道这段代码永远不会工作)

我想做的是这样的:

<?php

    If (checkbox is checked) {
        $link =  'http://www.google.com';
    } else {
        $link =  'http://www.example.com';
    }
?>

【问题讨论】:

  • 使用 Javascript/jQuery 来完成这项任务。
  • 我建议不要这样做,而是提交表单并处理服务器上的复选框。

标签: php javascript button checkbox hyperlink


【解决方案1】:

包含来自 Google 的 jQuery:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>

然后编写你点击按钮后调用的重定向函数;

<script>
function foo() {
  if ($('#checkbox').is(':checked')) {
      //redirect to google.com
      window.location = "http://www.google.com/";
  } else {
      window.location = "http://www.example.com/"
  } 
}
</script>

最后你的按钮应该是这样的:

<button onclick="foo();" >Your button</button>

此代码假定您的复选框有一个 id “复选框”。

另外,我不认为你尝试做的事情应该用 PHP 来完成 - 所以你应该立即学习 Javascript/jQuery,而不是按照不应该编写的方式编写代码。

【讨论】:

    【解决方案2】:

    可能还有另一种方法可以实现您想要实现的目标。复选框的值应与表单字段的其余值一起发送到服务器上的单个 php 脚本。然后您可以在 php 中使用复选框的值(布尔值)并相应地执行您需要执行的操作,可能需要外部脚本。

    【讨论】:

      【解决方案3】:

      如果未选中复选框值,则不会通过表单提交将其发送到服务器。 所以,你可以使用这样的东西:

      <?php
          if (isset($_POST['checkbox_name'])) {
              $link =  'http://www.google.com';
          }else{
              $link =  'http://www.example.com';
          }
      ?>
      

      【讨论】:

        【解决方案4】:

        示例:http://jsfiddle.net/5bdae/

        使用 jQuery 这相当简单。你给链接绑定一个函数,这个函数判断复选框是否被选中,如果它链接到一个地方,否则它链接到另一个地方。

        对于这样的 HTML 结构:

        <input id='myCheckbox' type="checkbox" name="box" value="box" />
        <a href='#' id='myLink'>My Link</a>
        

        jQuery 将是:

        $('#myLink').click(function(event){
            event.preventDefault();
            if ($('#myCheckbox').is(':checked')){
                window.location.href='http://www.example.com';
            } else {
                window.location.href='http://www.ask.com';   
            }
        });
        

        这可能会超出 PHP 标记,您需要在代码中使用 include jQuery

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-03-04
          • 2012-05-27
          • 1970-01-01
          • 1970-01-01
          • 2015-01-27
          • 2012-06-05
          • 2015-04-18
          • 1970-01-01
          相关资源
          最近更新 更多