Чтобы узнать о веб-программировании, я пытаюсь простую страницу html/javascript/php «поиск продукта». Вот index.php
файл:JavaScript не запускается на событии onsubmit
<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
?
Вы получаете ошибки в консоли? Я бы предположил, что по вашему примеру, по крайней мере, '$ undefined'. – Mathletics
Нет, ошибок нет. Почему я должен получить эту ошибку? Разве '' '' '' определяется jQuery как 'document.getElementById'? – feralin
где ваша ссылка на jquery? – Guanxi