Web プログラミングについて学ぶために、単純な html/javascript/php の「製品検索」ページを試しています。index.php
ファイルは次のとおりです。
<html>
<head>
<title>Product Search</title>
<script type="text/javascript">
function mySubmit() {
alert("submitting...");
var product_type = $('product_type').value;
$.post('product_search.php', { product_type: product_type }, function (data) {
alert("result = " + data);
$('body').html(data);
}
return false;
}
</script>
</head>
<body id="body">
<script type="text/javascript">
mySubmit();
</script>
<form class="form" id="myform" method="post" onsubmit="javascript:return mySubmit();">
Product Type:
<input id="product_type" type="text" name="product_type"/>
<br/><br/>
<input id="submit" type="submit" value="Submit"/>
</form>
</body>
</html>
ファイルは非常にproduct_search.php
小さいです。
<?php
$product_type = $_POST["product_type"];
echo "<h1>$product_type</h1>";
?>
onsubmit
問題は、フォームに対してイベントが呼び出されないように見えることです。JavaScript の問題だと思いました (実行が許可されていないなど) が、イベントが呼び出されたときalert
に呼び出す代わりにを実行すると、動作します!mySubmit()
onsubmit
また、すぐ下の JavaScript を実行する必要があると考えるのは間違ってい<body id="body">
ますか? どちらも実行されることはありません。
すべてを読んでいない人のために:イベントが発生したときに JavaScript 関数が実行されないのはなぜですか?onsubmit