我正在为 joomla 网站开发弹出组件, 弹出窗口工作得很好,在我的弹出窗口中,我从用户那里获取电话号码,我需要将该电话号码存储到 joomla 数据库,但我无法调用 JFactory::getDBo(),当我调用这些方法时,弹出窗口不起作用,我遇到麻烦了,任何帮助将不胜感激。提前感谢...
site/default.php
<script>
function openColorBox() {
$.colorbox({
innerWidth:500,
innerHeight:300,
iframe:true,
href: "subscribe.php",
overlayClose:true,
onLoad: function() {
$('#cboxClose').remove();
}
});
}
setTimeout(openColorBox, 1000);
</script>
网站/订阅.php
<body class="oneColFixCtr">
<div id="container">
<form name="Mail_list" action="#" method="post">
<p>
<label for="phone">Your Mobile Number </label>
<input type="tel" name="phone" id="phone" size="10" pattern="\d{10}" required />
<input type="hidden" name="date1" id="date1" value="<?php echo date('d.m.y'); ?>" />
</p>
<input type="submit" name="submit" value="Enter">
</form>
</div>
最佳答案
您的表单在提交时不会将数据发布到任何地方。您的操作=“#”将永远不会允许表单提交。如果您需要将操作提交回 subscribe.php,请将您的操作设置为 PHP_SELF,然后检查处理您表单的 subscribe.php。
更好的方法是将弹出内容放在隐藏的 div 中并打开该 div,而不是使用 iframe。使用 subscribe.php 作为将用户数据保存到数据库的逻辑。使用 ajax 提交表单也不失为一个好主意。
关于php - 无法使用 cBox 弹出窗口在 joomla 中获取 JFactory::getApplication,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35055564/