我知道您可以将您的 $(document).ready() 代码与 html 分开放入单独的文件中,但是作为我的 javascript 的一部分,我使用一些回调来调用 codeigniter PHP 函数,例如 site_url() 这在部分时不起作用一个单独的 .js 文件。
这是一个例子:
登录页面.php
<script type="text/javascript" src="<?php echo site_url('scripts') . '/' . 'app/login_page.js'; ?>"></script>
<div id="loginForm" class="prepend-2 column span-21">
<p class="tips"></p>
<div class="column span-10">
<dl>
<dt><label>Email:</label></dt>
<dd><input type="text" name="email" id="email" class="text" /></dd>
</dl>
</div>
<div class="column span-10 last">
<dl>
<dt><label>Password:</label></dt>
<dd><input type="password" name="password" id="password" class="text" /></dd>
</dl>
</div>
<div class="column prepend-7 span-10 append-5 ">
<dl>
<dt><label> </label></dt>
<dd><input type="submit" value="Login" id="loginButton" /></dd>
</dl>
</div>
</div>
login_page.js
$(document).ready(
function()
{
//login
$("#password").keyup(function(event){ if(event.keyCode == 13){ $("#loginButton").click();}}); //submit on enter key
$('#loginButton').click(function()
{
do_login($("#email"), $("#password"), $(".tips"), "<?php echo site_url('dashboard'); ?>", "<?php echo site_url('login/log_in'); ?>");
return false;
});
});
所以这里的问题出在我试图调用 PHP site_url 的 do_login 中,但它显然不起作用。如果我的 php 内联中有 javascript,这一切都可以正常工作,但这会使文件相当大,我更喜欢单独的文件。
我需要知道这甚至可能吗?如果是这样,有没有人想出一个优雅的解决方案来解决这个问题?