Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript未在onsubmit事件上运行_Javascript_Html_Onsubmit - Fatal编程技术网

JavaScript未在onsubmit事件上运行

JavaScript未在onsubmit事件上运行,javascript,html,onsubmit,Javascript,Html,Onsubmit,为了了解web编程,我尝试了一个简单的html/javascript/php“产品搜索”页面。以下是index.php文件: <html> <head> <title>Product Search</title> <script type="text/javascript"> function mySubmit() { alert("subm

为了了解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>
问题是表单似乎从未调用
onsubmit
事件。我认为这是一个JavaScript问题(如中,不允许运行),但是如果在调用
onsubmit
事件时运行
警报而不是调用
mySubmit()
,它就会工作

另外,我认为应该运行
下面的JavaScript,这是不是错了?它也永远不会运行


因此,对于那些没有阅读所有这些内容的人:为什么在触发
onsubmit
事件时我的JavaScript函数没有运行?

我在运行代码时遇到以下解析错误:

Uncaught SyntaxError: Unexpected token return

Uncaught ReferenceError: mySubmit is not defined 
您的
$.post
调用缺少结束
,这会破坏解析器。一旦您解决了这个问题,您将得到
$is undefined
错误,直到您引用jQuery为止


mySubmit();
调用上述函数时,即使是document.getElementById('product_type')。value也会给出错误(您的浏览器可能没有启用该值来捕获),因为它的product_type结果为null,因为在浏览器完全呈现页面之前执行了正文中的javascript。在调用它的那一刻,产品类型尚未呈现


单击也会调用您的函数,但这次可能会失败,因为您没有对Jquery的引用。包括一个。

控制台中是否有错误?根据您的示例,我希望至少有一个
$未定义。为什么我会犯这样的错误?jQuery不是将
$
定义为
document.getElementById
?您对jQuery的引用在哪里?您的意思是什么?它不是默认引用的吗?如果有帮助的话,我正在使用xampp。不。。你必须把它包括进去。。jquery本身是一个不可用的库。关于缺少的
)您是对的-我添加了它,现在调用
mySubmit()工作!我没有得到
$is undefined
错误,但是。。。我会在哪里看到它?“如果有人能解释一下,我会很感激的。”。。啊,不,答案区不是提问的地方。没有必要。。。我已经弄明白了。
Uncaught SyntaxError: Unexpected token return

Uncaught ReferenceError: mySubmit is not defined 
<script type="text/javascript">
            mySubmit();
        </script>