php - 加载哪个 PHP 模板取决于 javascript 支持

标签 php javascript

我有以下情况:

多步骤注册程序。假设有 4 个步骤,每个步骤都取决于之前的输入。无论有没有 Javascript,这个问题都可以解决。

没有 JS:每个步骤都会附加一个“继续”按钮 使用 JS:完成上一步后,下一部分会自动显示给用户。 (不存在“继续”按钮。

问题是:我的模板引擎如何知道要呈现哪一个?有或没有继续按钮?您不能仅仅尝试测试 JS 代码块来确定它是否在 PHP 加载模板之前启用。

我解决的一种方法是,访问的初始负载可能会向服务器上的文件发送 ajax 请求,其唯一目的是设置 $_SESSION['JS_ENABLED'] = 1 或类似的内容.

我不喜欢这个。该文件的 HTTP 请求很可能会失败,从而使站点相信访问者禁用了 JS。

我认为我需要一种新方法。请赐教=)

最佳答案

你可以这样做:

<p>Step ....</p>
<a id="proceed_link" href="no_script_proceed_link.php">Proceed</a>
<script type="text/javascript">
// example with jquery
$.getScript('script/url.js',function(){ 
   $('#proceed_link').hide();
   // other stuff when scripts are available
});
</script>

关于php - 加载哪个 PHP 模板取决于 javascript 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3378475/

相关文章:

javascript - 如何从 iFrame 中获取值

javascript - 使用 CrossRider 的 DatePicker 不工作?

javascript - 创建闪光警报的指令

php - 在php表中调用下拉函数

php - 使用 Eloquent ORM 从数据库中获取数据

javascript - react native : Component rerender but props has not changed

javascript - 为我的游戏设置计时器

php - 与 vb.net 和 php 数据同步

javascript - 如何正确将php mysql数据传递给ChartJs

php - xdebug 是否会以任何方式影响 PHP 语法(而不是其行为)?