好吧,伙计们,所以我有一个页面,它使用带有jquery函数的php函数。
jQuery函数或简单的确认框和对话框。所以我现在需要的是当用户点击按钮时,我需要显示一个确认框。 然后,当用户接受时,我运行一个以页面刷新结束的php函数,然后我想显示一个对话框以显示它已经完成。
但现在发生的是,出现确认框。当用户接受时,对话框开始显示,但正确,页面刷新...
当用户从确认框中点击“确定”时,会调用php函数:
function resetText()
{
$url = curPageURL();
?>
location.href='<?php echo"$url"; ?>'
message();
<?php
}
感谢您的帮助。
答案 0 :(得分:1)
我认为您可能尝试以不构建的方式使用Web技术。 Web建立在客户端 - 服务器模型上;在您的情况下,php only 在服务器上运行,javascript(和jQuery) only 在用户的Web浏览器上运行。为了从javascript调用php,你必须以新的web请求的形式这样做。
你想要将你想要在php中做的任何事情移动到你可以调用的另一个url端点,例如/callback.php,经过一些思考后会返回类似的内容:
{ 'myUrl': 'http://stackoverflow.com' }
然后,你的jQuery看起来像:
$('#myButton').click(function()
{
if (confirm('My confirmation message'))
{
$.ajax({
type: 'get',
dataType: 'json',
url: '/callback.php',
success: function(result)
{
alert('You\'re about to go to ' + result.myUrl);
window.location.href = result.myUrl;
},
error: function(request)
{
// handle somehow
}
});
}
});
答案 1 :(得分:0)
Clint是对的 - PHP是服务器端的,所以你必须通过ajax调用运行该函数。
尽管如此,如果这对您有用,并且如果您想在刷新时看到弹出框,则可以在执行刷新之前设置会话变量,然后执行以下操作:
$(document).onReady(function(){
if (isset(that session var)){ show that popup, remove session var }
});