【问题标题】:Click image to call php function点击图片调用php函数
【发布时间】:2013-09-04 18:21:21
【问题描述】:

我需要单击一个图像,它应该运行一些设置 php 变量并重新加载同一页面的 php 脚本。

我知道这听起来很简单,但我尝试了所有我能想到的不同方式,我猜这只是我错过的一些基本的东西。

我尝试过点击图片、href 和点击,使图片成为表单的“提交按钮”等。

我们将不胜感激。

<a href="#" class='lang'><img src="/images/flags/it.png" alt="it_IT" /></a>
<a href="#" class='lang'><img src="/images/flags/fr.png" alt="fr_FR" /></a>     

我希望图像 alt 值通过它, 怎么可能,请给出一些想法..

【问题讨论】:

  • 没有您的代码,我们无能为力。
  • 那么你使用的href是什么?
  • 你试过$_GET吗?
  • 嗨,我是这个论坛的新手,我更新了我的查询,任何回复将不胜感激。

标签: php javascript jquery html


【解决方案1】:

试试这个:

假设您要更改的 PHP 变量是$my_var

这样设置:

if(isset($_GET['VarValue']) And !empty($_GET['VarValue'])){
//if it is passed and not empty store it
$my_var = $_GET['VarValue'];
}
else{ die(''); }//else don't let them display the page.  

在图片中放一个On Click Listener帽子调用这个函数PHP_var();

在 JavaScript 中添加这个函数:

function PHP_var(){
location = "?VarValue=The_Value_That_You_Want_To_Set";
}

当你第一次调用这个页面时,URL 必须是这样的(假设它是http://www.example.com/script.php?VarValue=The_First_Valeu_Of_Variable)。

该函数将更改 VarValue 值并重新加载页面

【讨论】:

    【解决方案2】:

    试试

     $('.lang img').on('click',function(){
        var lang = $(this).attr('alt');
        var postdata = 'lang='+lang;
    
        $.ajax({
                type:'POST',
                data:postdata,
                url:'process/yourscript.php',
                success:function(data){
                    // more processing here
                }
            });
    
        return false;
    });
    

    【讨论】:

      【解决方案3】:

      使用 onclick="ajaxFunctionName()" 调用执行脚本的 ajax 函数

      <a href="javascript:;" onclick="ajaxFunctionName()" class='lang'><img src="/images/flags/it.png" alt="it_IT"/></a>
      <a href="javascript:;" onclick="ajaxFunctionName()" class='lang'><img src="/images/flags/fr.png" alt="fr_FR"/></a>
      
      function ajaxFunctionName() {
          $.post({
            var lang = $( this ).children('img').attr('alt');
            url: "script.php?lang="+lang
          }).done(function() {
            // do something
          });
      }
      

      <img class='lang' src="/images/flags/it.png" alt="it_IT"/>
      
      $('.lang').click(function(){
          $.post({
            var lang = $( this ).attr('alt');
            url: "script.php?lang="+lang
          }).done(function() {
            // do something
          });
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-09-17
        • 2012-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-22
        相关资源
        最近更新 更多