首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jquery函数在表单提交时没有正确调用

jquery函数在表单提交时没有正确调用
EN

Stack Overflow用户
提问于 2014-11-17 04:50:09
回答 2查看 834关注 0票数 2

当输入电子邮件地址并单击submit按钮时,将执行alert('jquery');,我将看到警报。,但我没有看到“提交表单”的警告,并且request.php页面立即被服务。我做错了什么?

HTML片段:

代码语言:javascript
运行
复制
<form class="form-signin" role="form" id="emailform" action="request.php" method="post"
  name="emailform">
    <input type="email" id="email" name="email" required="" /> <button name="submit"
    class="btn btn-lg btn-primary btn-block" type="submit">Get New Code</button>
</form>

Jquery片段:

代码语言:javascript
运行
复制
<script>
    $(document).ready(function() {
        alert('jquery'); // this alert is called properly
        $("#emailform").submit(function(event) {

            alert('submitting the form'); // this is not getting called on click of the submit button
            event.preventDefault();

            var $form = $(this),
                url = $form.attr('action');
            alert(url);
            $.post(url, {
                    param1: $("#email").val()
                })
                .success(function(data) {
                    if (data == "found") {}
                });
        });
    });
</script>

编辑:我上面使用的措辞是不正确的,因此我要修改它,这要归功于@PeterKA

在加载页面时执行alert('jquery');,我看到警报。但当输入电子邮件地址并单击submit按钮时,alert('submitting the form');不会执行

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-17 05:09:10

您的代码没有任何问题;只是您错误地报告了什么时候会触发警报。请参阅下面的演示中的评论。运行演示以确认您的代码按预期工作。

代码语言:javascript
运行
复制
    $(document).ready(function() {
        
        //THIS ALERT FIRES WHEN THE PAGE LOADS
        //NOT WHEN A BUTTON IS CLICKED
        alert('jquery');
      
        $("#emailform").submit(function(event) {
            
            //THIS ALERT FIRES WHEN THE SUBMIT BUTTON IS CLICK
            //OR WHEN THE SUBMIT EVENT IS TRIGGERED THROUGH SOME OTHER MEANS
            alert('submitting the form');
          
            event.preventDefault();

            /*var $form = $(this),
                url = $form.attr('action');
            alert(url);
            $.post(url, {
                    param1: $("#email").val()
                })
                .success(function(data) {
                    if (data == "found") {}
                });*/
        });
    });
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form class="form-signin" role="form" id="emailform" action="request.php" method="post"
  name="emailform">
    <input type="email" id="email" name="email" required="" /> <button name="submit"
    class="btn btn-lg btn-primary btn-block" type="submit">Get New Code</button>
</form>

票数 1
EN

Stack Overflow用户

发布于 2014-11-17 05:15:54

代码语言:javascript
运行
复制
        <!DOCTYPE HTML>
        <html>
        <title>Tester</title>
        <head>
        <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.1.min.js"></script>





 <script type="text/javascript">

$(document).ready(function() {
        alert('jquery'); // this alert is called properly
        $("#emailform").submit(function(event) {
            alert("hello this ready for submit");
           return false;
        });
    });

 </script>          


        </head>
        <body>

           <form class="form-signin" role="form" id="emailform" action="request.php" method="post"
  name="emailform">
    <input type="email" id="email" name="email" required="" /> <button name="submit"
    class="btn btn-lg btn-primary btn-block" type="submit">Get New Code</button>
</form>

        </body>
        </html>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26965732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档