我需要单击一个图像,它应该运行一些php脚本来设置一个php变量并重新加载相同的页面。
我知道这听起来很简单,但我尝试了各种不同的方式,我猜它只是我错过的一些基本内容。
我已尝试点击图片,href和onclick,使图片成为表单的“提交按钮”等。
我们将不胜感激。
<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值传递它, 怎么可能请提出一些想法..
答案 0 :(得分: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值并重新加载页面
答案 1 :(得分:0)
使用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
});
});
答案 2 :(得分:0)
试
$('.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;
});