jQuery e.preventDefault()无法正常工作 - php

我只有几行代码来创建表单,然后稍后在代码中通过JSON使用AJAX $.post

我的html表单脚本代码创建了一个简单的表单,然后按“ enviar(提交)按钮”,它将打印我的vars数据。我用$.post调用了一个名为dados.php的文件,稍后您将在后面看到。这条信息。

我的印象是,通过使用jQuery preventDefault()单击“ enviar”按钮,什么都不会发生,但是它将带到其他页面,显示来自我的var的数据(我正在我的print_r($_POST);var_dump($_POST); dados.php。

首先,我可能对jQuery preventDefault()或其他代码(您将在我的代码中看到注释)“阻止”用户/我单击“ enviar”(提交)按钮后执行的任何操作有误;什么都不会发生,但仍会打印我的vars数据。

第二/最后,我的代码出了点问题。

请检查以下脚本代码以获取我的HTML表单和dados.php(php代码);预先感谢您的帮助:

我的HTML FORM / JSON:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
        <title></title>
    </head>
    <body>

    <div id="result">texto do cliente</div>​

    <form id ="myform"action="dados.php" method="post">

        <table>
            <tr>
                <td>Nome:</td>            
                <td>
                    <input type="text" id="first_name" value="" maxlength="25" />
                </td>            
            </tr>

            <tr>
                <td>Sexo:</td>
                <td>
                    <input type="radio" id="Sexo" value="Masculino" /> Masculino
                    <input type="radio" id="Sexo" value="Feminino" /> Feminino
                </td>
                </tr>

                <tr><td>Profissão:</td>
                <td>
                    <select id="dropdown">
                    <option value ="administrador">Administrador</option>
                    <option value ="analista">Analista</option>
                    <option value ="designer">Designer</option>
                    <option value ="gerente">Gerente</option>
                    </select>
                </td>
                </tr>

                <tr>
                <td>
                    <input id="submit" type="submit" value="enviar"/>                    
                </td>
                </tr>
        </table>  

        <script type="text/javascript">
            $(function(){
                /* attach a submit handler to the form */
                $("input[type='submit']").click(function(e) {

                /* stop form from submitting normally */
                   e.preventDefault(); 
                   //e.stopImmediatePropagation();
                   //e.stopPropagation();

            $.post(   
                'dados.php', {firstname: $('#first_name').val(), sexo: $('#sexo').val(),
                             profissão: $('#dropdown').val()}, function(data) {  
                console.log(data);
                //$('#result').html(data)
                //$('#result').html(data.firstname)
                //$('#result').html(data.sexo)
                //$('#result').html(data.profissão)
                }, 'json');
            });           

         </script>        

        <script>

        </script>

    </body>
</html>

我的DADOS.PHP:

//ECHO $_POST['dropdown'];

print_r($_POST);

var_dump($_POST);

太谢谢了。

马可·兰萨(Marco Lanza)

参考方案

您没有关闭$(function(){

您需要在末尾添加另一个});

jQuery-PHP类选择器问题 - php

所以我有这样的事情:<?php foreach($post_array as $post): ?> <div class="postBodyWrapper"> <div class="vid-link"> <script type="text/javascript&#…

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

通过>和<运算符比较日期 - php

在我的所有php代码中,我都在UTC中存储日期和时间,但是我也在使用mysql存储日期时间(也在utc中)。大于和小于运算符会导致日期比较失败吗? $curdate=date('Y-m-d H:i:s'); if($start_datetime>$curdate) 参考方案 不。他们没有办法失败。为此,特意制作了MySQL日期格式。…

使用jquery计算<id>中的总图像 - php

我有一个div,里面有一些图像,例如<img src= etc我想计算该div中的图像总数。我也想使用PHP将这些图像ID保存到mysql中...谢谢 参考方案 要计算它们,您可以执行以下操作:alert($('#myDiv img').length); 要将所有id捕获到数组中,可以执行以下操作:var ids = []; $(&…

PHP:检查谁看过发送的电子邮件? - php

我正在向某些用户发送电子邮件,并且想知道是谁阅读的,这意味着如果有人阅读了该电子邮件,则将维护一个日志文件,其中包含该用户的电子邮件地址以及日期/时间/ IP。为此,我发送一个带有电子邮件(html模板)的javascript函数,当用户打开该电子邮件时,它仅会警告用户的电子邮件地址,例如:for($n=0; $n<sizeof($checkBox);…