PHP フォームから値をロードし、結果を同じファイルの div に表示する関数が必要です。
以下のコードを含むPHPファイルのフォームがあります:
<?php
echo "<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js'></script>";
echo"<script type='text/javascript' src='script.js'></script>";
echo"<form method='post' action='' >";
echo " <select name='mat'><option value=''>Choose: </option>";
echo"<option >hello</option>";
echo"</select>";
echo"<input type = 'submit' value='next' onclick='submit();' />";
echo"</form>";
echo"<div id ='result'> </div>";
?>
の関数script.js
は次のとおりです。
function submit() {
$(function () {
var mat = "mat";
var dataString = 'mat=' + mat;
$.ajax({
type: "POST",
url: "check.php",
data: dataString,
success: function (res) {
goToByScroll("result");
$('#result').html("<br><br><br><br><br><br><br><br><br><br>").hide().fadeIn(2500, function () {
$('#result').html(res + "<br /><br /> Finished");
});
}
});
return false;
});
}
値をcheck.php
ロードするのは次のとおりです。
<?php
function safe($value)
{
htmlentities($value, ENT_QUOTES, 'utf-8');
return $value;
}
if (isset($_POST['mat'])) {
$mat = safe($_POST['mat']);
echo ($mat);
}
elseif (!isset($_POST['mat'])) {
header('Location: error?mat=notfound');
} ?>
しかし、最初の PHP ファイルで [次へ] をクリックしても何も表示されません。エラーを見つけることができますか?