我有以下情况:
多步骤注册程序。假设有 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/