PHPの中にJS使えるのでしょうか?
- 0 名前: つくし : 2004/05/24 16:29
- PHPファイルの中にJavaScript使えるのでしょうか?
普通のHTMLファイルでしたら、うまく動くことを確認しました。
<HTML>
<HEAD>
.......... Java Script ..........
</HEAD>
<BODY>
</BODY>
</HTML>
しかし、PHPファイルになると、JavaScriptが実行されていません。
<?php
init();
............PHP作業.........
?>
<HTML>
<HEAD>
<?php作業 ?>
..........JavaScript............
</HEAD>
<BODY>
</BODY>
</HTML>
PHPとJavaScriptが同時に扱える方法はないでしょうか?
お願いします。
- 1 名前: Sinryow : 2004/05/26 23:31 [URL]
- 普通は動くと思うのですが・・・。
ソースコードやOSやブラウザまで詳しく教えていただけませんか?
- 2 名前: つくし : 2004/05/28 10:30
- PHPファイルは投稿フォームです。
それで、投稿を送信する際、エラーチェックを行おうとしています。
例えば、「お名前」は必ず記入しなければならないとか。
ソースコードは以下のとおりです。
===================================
<?php
require_once("html_disp.php"); //HTML タグをまとめたPHPファイル
$bbs_name = "My BBS";
disp_html_header($bbs_name); //html_disp.php内の関数(ヘッダ出力)
?>
<SCRIPT language="JavaScript">
<!--
/* フォームの内容をチェック */
function FormCheck() {
if (document.Enter_Form.name.value=="") {
window.alert("お名前を記入してください。");
return false;
}
if (document.Enter_Form.comments.value=="") {
window.alert("コメントを記入ください。");
return false;
}
return true;
}
// -->
</SCRIPT>
HTMLの続きは別レス(長すぎみたい・・)
- 3 名前: つくし : 2004/05/28 10:32
- 続きのHTMLコード:
</HEAD>
<BODY>
<p align="center"><strong><font size="4">投稿フォーム</font></strong></p>
<FORM ACTION="kakunin.php" METHOD="post" NAME="Enter_Form" onSubmit="return FormCheck()">
<TABLE BORDER="1" align="center" CELLPADDING=10 bordercolor="#CC99CC">
<TR WIDTH="30%">
<TD><SMALL>お名前</SMALL></TD>
<TD>
<INPUT TYPE="text" NAME="title" SIZE=80></SMALL>
</TD>
</TR>
<TR>
<TD><SMALL>コメント</SMALL></TD>
<TD>
<INPUT TYPE="textarea" NAME="comments" >
</TD>
</TR>
</TABLE>
<P align="center">
<INPUT TYPE="submit" NAME="confirm_button" VALUE="確認" >
<INPUT TYPE="reset" VALUE="リセット" onClick="ResetButton()">
</FORM>
<?php
print("<P>");
disp_html_footer(); // HTML フッタ出力
?>
html_disp_header($bbs_name)はヘッダの出力で、以下のようになっています。
function disp_html_header($title){
$html_string = <<<END_OF_HEADER
<HTML>
<HEAD>
<TITLE>$title</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=EUC-JP">
<STYLE type="text/css">
<!--
body,tr,td,th { font-size: 9pt }
a:hover { color: #FF0000 }
span { font-size: 18pt }
big { font-size: 12pt }
small { font-size: 9pt }
-->
</STYLE>
END_OF_HEADER;
よろしくお願いします。
- 4 名前: つくし : 2004/05/28 14:55
- すみません・・
onClickを忘れました。
といっても、
<INPUT TYPE="submit" NAME="confirm_button" VALUE="確認" onClick="FormCheck(this)">
と書いてもチェックされてないです・・
FormCheck()としてもだめです・・
どこが問題なのかさっぱり分かりません・・(-_-;;;
- 5 名前: Sinryow : 2004/05/30 23:29 [URL]
- どうやらPHPの問題ではなく,ただのJavaScriptの問題のようです。
if (document.Enter_Form.name.value==""){
→if (document.Enter_Form.title.value==""){
<FORM ・・・ onSubmit="return FormCheck()">
→<FORM ・・・ onSubmit="FormCheck()">
<INPUT TYPE="submit" NAME="confirm_button" VALUE="確認" onClick="FormCheck(this)">
→<INPUT TYPE="submit" NAME="confirm_button" VALUE="確認">(元のままでよい)
<INPUT TYPE="reset" VALUE="リセット" onClick="ResetButton()">
→<INPUT TYPE="reset" VALUE="リセット">(onclickは不要,自動的にやってくれる)
<INPUT TYPE="textarea" NAME="comments" >
→<textarea NAME="comments"></textarea>
あとJavaScriptとは直接関係ないですが,
$html_string = <<<END_OF_HEADER
→print <<<END_OF_HEADER
といったところでしょうか。
- 6 名前: つくし : 2004/05/31 18:17
- ごめんなさい。
私のタイプミスでした。
ソースコードはかなり長いので、一部のコピーペーストにミスがありました。
if (document.Enter_Form.name.value==""){
→if (document.Enter_Form.title.value==""){
============> もともと合ってたのでOK
<INPUT TYPE="textarea" NAME="comments" >
→<textarea NAME="comments"></textarea>
============>これもOK
問題となるのは、
<FORM ・・・ onSubmit="return FormCheck()">
→<FORM ・・・ onSubmit="FormCheck()">
ですが・・
なぜreturnは要らないですか?
一応すべての項目をチェックして、正しければtrueを返すので、
次のアクションFORM ACTION="kakunin.php"に飛びます。
エラーが生じた場合、falseを返すので、次のアクションに飛ばないです。(次のページに飛ばさないように)
にしても、returnがあっても、なくても同じですね・・・(-_-!!
もう一回見てみます。
もし解決方法わかったら、またよろしくお願いします。
こちらも考えますので、解決できましたら、書き込みます。