前提・実現したいこと
Smartyのtplファイルに記述したJavascriptのコードを機能させたいです
発生している問題・エラーメッセージ
javascriptが動作しません
全く同じコードを一つのファイル内に記述した際には問題なく動作していましたが、smaryでPHPとhtmlに分離したところ動作しなくなってしまいました
また、エラーログを確認したところ
File does not exist:絶対パス
のようなエラーログが確認されました
該当のソースコード
javascript以外の部分は今回関係ないので記述しておりません
簡易掲示板の削除ボタンを押すと、警告メッセージが出るというコードです
tpl
1{* Smarty *} 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> 4<head> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6 <title>仮</title> 7</head> 8<body> 9 10 <script language="JavaScript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"> 11 12 $(function () { 13 $('#submit').submit(function () { 14 return confirm("本当に削除してもよろしいですか?"); 15 }); 16 }) 17 18 </script> 19 20</body> 21</html>
Smarty導入部分は以下のようなコードになっています
PHP
1define('SMARTY_DIR', '絶対パス'); 2require_once(SMARTY_DIR . 'Smarty.class.php'); 3$smarty = new SmartyBC(); 4$smarty->php_handling = Smarty::PHP_ALLOW;
また、ブラウザから表示させた該当部分のコードは以下の通りです
試したこと
smartyの公式サイト等で{literal}{/literal}で囲むという方法を発見し、試しましたが解決しませんでした。具体的には以下の2通りで試しましたが、いずれも機能しませんでした。
tpl
1<script language="JavaScript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"> 2 {literal} 3 $(function () { 4 $('#submit').submit(function () { 5 return confirm("本当に削除してもよろしいですか?"); 6 }); 7 }) 8 {/literal} 9</script>
tpl
1{literal} 2<script language="JavaScript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"> 3 $(function () { 4 $('#submit').submit(function () { 5 return confirm("本当に削除してもよろしいですか?"); 6 }); 7 }) 8</script> 9{/literal}
補足情報(FW/ツールのバージョンなど)
バージョンは
PHP 5.2.4
smarty 3.1.33
回答1件
あなたの回答
tips
プレビュー