[英]JavaScript not run on onsubmit event
要了解網絡編程,我正在嘗試一個簡單的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問題(因為,不允許運行),但如果我在調用onsubmit
事件時運行alert
而不是調用mySubmit()
,它就可以了!
另外,我認為應該運行<body id="body">
下的JavaScript是錯誤的嗎? 它永遠不會運行。
所以,對於那些沒有閱讀所有內容的人: 為什么我的JavaScript函數在onsubmit
事件被觸發時沒有被運行?
運行代碼時出現以下解析錯誤:
Uncaught SyntaxError: Unexpected token return
Uncaught ReferenceError: mySubmit is not defined
你缺少收盤)
上的$.post
調用,這是打破了解析器。 一旦你解決了這個問題,你就會得到$ is undefined
錯誤,直到你引用jQuery。
<script type="text/javascript">
mySubmit();
</script>
調用上面的函數,但是當調用它時,甚至document.getElementById('product_type')。value給出錯誤(可能沒有在你的瀏覽器上啟用它),因為它的product_type結果為null,因為之前執行了javascript瀏覽器已完全呈現頁面。 它被調用的那一刻,還沒有呈現product_type。
單擊也會調用您的函數,但這次可能是因為您沒有引用Jquery而失敗。 包括一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.