$(document).ready()コードをhtmlとは別のファイルに入れることができることを理解していますが、JavaScriptの一部として、site_url()などのcodeigniterPHP関数への呼び出しを使用しています。別の.jsファイルの。
次に例を示します。
login_page.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があれば、すべて問題なく動作しますが、ファイルがかなり大きくなるため、別のファイルを使用することをお勧めします。
私が知る必要があるのは、これも可能ですか?もしそうなら、誰かがこの問題のエレガントな解決策を思いついたことがありますか?